你好我使用这个代码来生成随机问题:检查给出答案的答案,如果匹配随机任务
<?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
但我得到的错误undifined指数chckanswer
你打电话的session_start();在你得到错误的文件中? – 2012-07-17 13:14:44
@DanPrince,该死的我1秒前。 – 2012-07-17 13:14:55
对于Mike的爱,请使用ORDER BY RAND()LIMIT 1而不是$ id = rand(0,13);如果你添加一个问题,你必须改变你的硬编码为13到14! – Waygood 2012-07-17 13:16:54