我正在创建一个琐事游戏,它是如何工作的:
一个人进入索引页面。
系统从数组中为他生成一个随机问题。用户回答问题
如果问题是正确的,系统将回显“正确答案”并生成一个新问题。如果问题不等于数组中的答案,系统将回显“错误答案”并生成一个新问题。
我已经完成了问题生成的部分,但是我遇到了匹配答案的问题 - 考虑到如果您回答问题,在您单击提交后,问题会自动更改,因此您的答案将不正确,除非 randomQuestion 保持不变。
我的朋友告诉我,我需要在随机问题部分使用会话,但没有别的。我不确定我该怎么做,我真的迷路了。
这是我的代码:问题生成
<?php
session_start();
$questions = array(array('What is Google?', 'god'),
array('What is God?', 'gode'),
array('Why is god?', 'godee'));
$randomQuestion = array_rand($questions);
$question1 = $questions[0][0];
$question2 = $questions[1][0];
$question3 = $questions[2][0];
if ($randomQuestion == 0 && !isset($_SESSION['question1'])) {
echo $question1;
} else if ($randomQuestion == 1 && !isset($_SESSION['question2'])) {
echo $question2;
} else if ($randomQuestion == 2 && !isset($_SESSION['question3'])) {
echo $question3;
}
?>
表格 + 匹配答案 此脚本目前仅检查问题 1 作为测试。
<form action="index.php" method="post">
<input type="text" name="answer">
<input type="submit" value="Answer it!">
</form>
<?php
$answer = $_POST['answer'];
if (!empty($answer)) {
if ($randomQuestion == 0) {
if ($answer == $questions[0][1]) {
echo 'Correct Answer!';
unset($_SESSION['question1']);
unset($_SESSION['question2']);
unset($_SESSION['question3']);
}
} else {
echo 'Answer is incorrect.';
return;
}
} else {
echo 'Field is empty';
return;
}
session_destroy();
?>
我想到的:
在阅读了很多关于会话的文章之后,我想到了检查 randomQuestion 是否是 isset,如果是 isset,那么它就不会产生新的问题。
回答问题后,系统会取消设置随机问题,以便系统生成新问题。
但它并没有真正起作用,因为我没有做对。
我做错了什么?最简单的方法是什么?
谢谢!