gpt4 book ai didi

PHP session 变量只递增一次

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:49 25 4
gpt4 key购买 nike

我最近一直在摆弄 PHP 和数据库,我遇到了一个问题,当我想增加一个 session 变量时,if 语句中的 question_id 会增加一次,之后不会增加。

session_start();
$_SESSION['question_id'] = 11; // Set default var

if(isset($_POST['ans'])) {
if($funcs->checkAnswer($_SESSION['question_id'], $mysqli)) {
$_SESSION['question_id'] = $_SESSION['question_id'] + 1;
}
}

$question = $funcs->getQuestion($_SESSION['question_id'], $mysqli);

$_POST 变量 ans 是用户填写答案的表单的 ID,checkAnswer() 会根据数据库中的正确答案检查此答案,后者会获取正确答案并将其与用户的答案进行比较,如果正确则返回 true,否则返回 false。如果 checkAnswer() 为真,理论上 session 变量 question_id 应该每次递增并因此更新问题,但是它只执行一次然后在这之后它停留在增量的第一次迭代(问题 2),如果答案用户输入错误,由于某种原因,它会重置回问题一。

有谁知道为什么即使 if 语句为真 $_SESSION['question_id'] 也只递增一次?如果您也能看到重置问题出在哪里,那就太好了,但我可能会为此创建一个新帖子。

提前致谢。

最佳答案

您总是将您的 question_id 重置为 11。你必须写:

if (empty($_SESSION['question_id']) {
$_SESSION['question_id'] = 11;
}

关于PHP session 变量只递增一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38103492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com