gpt4 book ai didi

php - 尽管经过多次尝试和在线搜索,$SESSION 仍无法正常工作

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

我正在使用 PHP 编写在线测验程序。每当测验的回答者选择正确答案时,代码将自动为其总分 +1。

为此,我使用 $_SESSION['score']=0; 首先将分数设置为零,然后使用 $_SESSION['score']++; 每当回答者得到每个问题的正确答案时。

但是,我不知道为什么尽管回答者正确回答了问题,但分数却没有加起来。

当回答者正确回答问题时,分数仍然是 0,不知为什么,我不知道为什么。我可以知道出了什么问题吗?谢谢。

我尝试过的事情:

1.将$_SESSION['score']++;改为$_SESSION['score']+1;

2.改变:

if(!isset($_SESSION['score'])){
$_SESSION['分数']=0;
}

只是

$_SESSION['score']=0;

3.改变

if($correct_choice == $selected_choice){
$_SESSION['分数']++;
}

只是:

if($correct_choice = $selected_choice){
$_SESSION['分数']++;
}

下面是 process.php 的代码:

<?php include 'database.php'; ?>
<?php session_start(); ?>

<?php

if(!isset($_SESSION['score'])){
$_SESSION['score']=0;

}

if(isset($_POST['submit'])){
$number=$_POST['number'];
$selected_choice = $_POST['choice'];
$next=$number+1;

/*
* Get total questions
*/
$query="SELECT* FROM questions";
$results= mysqli_query($con,$query);
$total=$results->num_rows;

/*
* Get correct choice
*/
$query = "SELECT* FROM `choices` WHERE question_number = $number AND is_correct=1";
//Get result
$results= mysqli_query($con,$query);

//Get row
$row=$results->fetch_assoc();

//Set Correct choices
$correct_choice=$row['id'];

//Compare choice made with correct choice
if($correct_choice == $selected_choice){
$_SESSION['score']++;
}


//Check if last question
if($number == $total){
header("Location: final.php");
exit();
} else {
header("Location: question.php?n=".$next);
}

}

刚试过:

if($correct_choice == $selected_choice){
echo "same";
} else{
echo "not same";
}

即使 $correct_choice$selected_choice 都等于 1,代码仍然返回“not same”?

最佳答案

您正在打开和关闭大量 PHP 标记 - 没有必要。如果您有错误报告并显示在屏幕上,它可能会说“标题已发送”。这可能是问题所在。

由于 process.php 文件都是 php - 只需打开 <?php标记一次 - 最后甚至不必费心去关闭它 - 除非你明确地输出一些东西(这对于一个更大的程序来说是不好的做法,最好使用一个小框架和单独的模板)。

关于php - 尽管经过多次尝试和在线搜索,$SESSION 仍无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31231487/

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