我写的脚本,它工作得很好,但我想哈希答案的ID不可用的发现正确的答案。
现在的代码是这样的:
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
不,我想散列$值,所以很容易:$licznik_odp = hash( 'sha256', $value.$sald);
,但我不知道如何检查它是否是ID号254或不是,等。
因为在$zapytanie3 -> bindValue(':ID_odpowiedzi',$_POST['odp'], PDO::PARAM_INT);
中我必须写答案的ID(在散列之前它是$row['ID'])
你知道怎么做吗?
是的,没问题,也许我会帮助别人。
我在表odpowiedzi(答案)中添加了额外的列HASH当我添加一些带有答案的问题时,我对每个答案进行散列:
$id = $rekord['ID'];
$hash_a = hash( 'sha256', $a.'sold'.$id);
$id -它是问题的id
$a - $_POST
是一个答案$hash_a -它正在哈希id
的答案in value of radio我这样写这个散列:
$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代码,因为所有的答案都是哈希:)