PHP - 你如何在前一个和前锋的测验中作弊得分

Ted*_*ylo 2 html php session

我在网上搜索过,但我不知道从哪里开始.我们需要在学校用PHP进行测验.如果你有正确的答案,你会得到下一个答案:

session_start(); 

$_SESSION['score']++; 

?> 
Run Code Online (Sandbox Code Playgroud)

举个例子,如果我问到9,我有8分.但问题是,如果我点击之前它继续添加++到分数.所以当我回到问题8时我有9分.我想知道如何避免这一点,当你点击之前它说"不要作弊".

She*_*ock 6

防止这种情况的一种简单方法是跟踪玩家已经回答的问题.您可以在同一会话数组中使用不同的密钥执行此操作.这样的东西就足够了:

初始化如下:

$_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)