0

こんにちは、私はこのコードを使用してランダムな質問を生成しています:

<?php
session_start(); //this was missing from this file
//connect to db
require_once('db_conn.php');

$id=rand(0,13); //2nd number = highest ID

if ($res = $mysqli->query("SELECT quest FROM table WHERE ID='$id'")){

   $resQ = $res->fetch_assoc(); 
   echo "" . $resQ['quest'] . "";

   $_SESSION['chckanswer'] = $resQ['guest'];

   $res->close();
}
$mysqli->close();
?>

そして、これは、与えられた答えが質問と一致するかどうかを試して確認するものです:

<?php
session_start();

//more code

if($stmt = $mysqli->prepare('SELECT quest FROM table WHERE answer=?')){
    $stmt->bind_param("s", $_POST['given_answer']);
    $stmt->execute();
    $stmt->bind_result($quest);
    $stmt->fetch();

        if($_SESSION['chckanswer'] != $quest && !empty($_SESSION['chckanswer'])){
        echo 'wrong';
        exit();
        }
        else{
        echo 'ok';
        }
    $stmt->close();    
}
//more code

しかし、未定義のインデックスchckanswerというエラーが発生します

4

2 に答える 2

0
$id=rand(0,13); // 0-13

IDが「ゼロ」の行はないと思います

isset($_SESSION['chckanswer']) ? $_SESSION['chckanswer'] : null;

この行を追加します

于 2012-07-17T13:29:52.547 に答える
0

これは最初のファイルにありませんでした:

session_start();
于 2012-07-24T13:27:35.130 に答える