php对ID进行散列,然后检查是否为真


php hashing the ID and after chech if is true

我写的脚本,它工作得很好,但我想哈希答案的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代码,因为所有的答案都是哈希:)