PHP,带密钥的随机数组

时间:2016-04-02 19:30:29

标签: php mysql arrays

我有下面的数组,它会生成一个随机问题及其表格的密钥。

我将密钥保存在我的数据库中供以后使用,例如密码恢复等......

问题是,每次询问问题时,保存在数据库中的密钥大多不是问题的密钥。

这是我的insert.php用于保存密钥(secQ):

所有正常工作的连接和验证......

<?php
    include("questions.php");
    $dbh= $pdo->prepare("INSERT INTO users (secQ ) values (?)");
    $dbh->bindParam(1, $secQ );
    $dbh->execute();
?>

这是我的问题.php:

<?php
    function secQ(){
        $questions = array();

        $questions[0] = "1";
        $questions[1] = "2";
        $questions[2] = "3";
        $questions[3] = "4";
        $questions[4] = "5";

        $rand_key = array_rand($questions, 1);
        return array($rand_key, $questions[$rand_key]);
     }
    $q = secQ();
    $secQ = $q[0];
    $question = $q[1];
 ?>

我想这是因为在将secQ插入数据库之前 有include(“questions.php”);它可能会再次生成一个不同的密钥,而不是表格中的问题。

感谢looot

1 个答案:

答案 0 :(得分:0)

这可能是一个很好的解决方案:

我们可以使用会话在php文件之间进行通信,如下所示:

在insert.php中:

$secQ = $_SESSION['secQ'];

在questions.php中:

$_SESSION['secQ'] = $secQ;

这很有效,但我在将数据插入数据库之前就开始插入insert.php时担心这个方法的安全性。

对此的任何评论都会有所帮助,谢谢。