我写了脚本并且它运行得很好,但是我想将答案的哈希值哈哈哈找到正确的答案。
所以我现在的代码看起来像这样:
foreach($result2 as $row)
{
$odpowiedz = $row['Tresc_odpowiedzi'];
$value= $row['ID'];
echo "<p><input type=\"radio\" name=\"odp\" value=\"$value\" />$odpowiedz</p>";
} // pobranie wartosci ID pytania z bazy i wpisanie go jako value
$zapytanie3 = $pdo->prepare('SELECT * FROM odpowiedzi WHERE ID = :ID_odpowiedzi'); //pobranie wedlud kategorii zdefiniowanej w 'bindValue'
$zapytanie3 -> bindValue(':ID_odpowiedzi',$_POST['odp'], PDO::PARAM_INT);
$zapytanie3 -> execute();
$result3 = $zapytanie3 -> fetchAll(PDO::FETCH_ASSOC);
//pobranie danej odpowiedzi, aby sprawdzic czy prawidlowa
不,我想哈希$ value,所以很容易:$licznik_odp = hash( 'sha256', $value.$sald);
,但我不知道如何检查它是否是ID号254,等等。
因为在$zapytanie3 -> bindValue(':ID_odpowiedzi',$_POST['odp'], PDO::PARAM_INT);
我必须写回答的ID(在散列之前它是$ row ['ID'])
你知道怎么做吗?
答案 0 :(得分:0)
是的,没问题,也许我会帮助别人:)
我在MySQL中添加额外的列HASH表odpowiedzi(答案) 当我用答案添加一些问题时,我得到的每一个答案都是:
$id = $rekord['ID'];
$hash_a = hash( 'sha256', $a.'sold'.$id);
$ id - 它是问题的ID
$ a - 这是$ _POST
的一个答案$ hash_a - 它是带有id的哈希答案
在收音机的价值中我写这个哈希是这样的:
$value = $row['Hash'];
echo "<p><input type=\"radio\" name=\"odp\" value=\"$value\" id=\"$value\" /><label for=\"$value\">$odpowiedz</label></p>";
and in checking question I changed my query:
并且最后我检查它是否存在于mySQL
中$zapytanie3 = $pdo->prepare('SELECT * FROM odpowiedzi WHERE Hash = :Hash'); //pobranie wedlud kategorii zdefiniowanej w 'bindValue'
$zapytanie3 -> bindValue(':Hash',$_POST['odp'], PDO::PARAM_INT);
这就是全部,我认为没有人可以检查HTML代码是否正确,因为所有答案都是哈希:)