我在网上搜索过,但我不知道从哪里开始.我们需要在学校用PHP进行测验.如果你有正确的答案,你会得到下一个答案:
session_start();
$_SESSION['score']++;
?>
Run Code Online (Sandbox Code Playgroud)
举个例子,如果我问到9,我有8分.但问题是,如果我点击之前它继续添加++到分数.所以当我回到问题8时我有9分.我想知道如何避免这一点,当你点击之前它说"不要作弊".
防止这种情况的一种简单方法是跟踪玩家已经回答的问题.您可以在同一会话数组中使用不同的密钥执行此操作.这样的东西就足够了:
初始化如下:
$_SESSION['answeredQuestions'] = array();
Run Code Online (Sandbox Code Playgroud)
在添加积分之前,您需要检查问题是否已经得到解答:
if(!in_array($questionNumber, $_SESSION['answeredQuestions']))
{
$_SESSION['score']++;
}
Run Code Online (Sandbox Code Playgroud)
然后将当前问题添加到已回答问题列表中:
$_SESSION['answeredQuestions'][] = $questionNumber;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |