传递会话变量

时间:2016-11-01 18:06:13

标签: php mysql session

我的程序中有3个文件,我正在开发测验系统。

quiz.php (第一个文件)

在此文件中,我从数据库中获取类别

<div class="form-group">
  <select class="form-control" id="" name="cat">
  <label for="sel1">Select category</label>
 <?php while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){

    echo" <option  value='".$row['cat_id']."'>".$row['cat_name']."</option>";
 }?>
  </select><br>
  <center><button type="submit" class="btn btn-success" style="margin-left:-70px" >Start Quiz</button></center>
</div>
</form>

ques_show.php (第二档) 此文件根据所选类别显示数据库中的问题。 我在会话变量中保存类别

$cat=$_POST['cat']; // to get the category
$_SESSION['cat']=$cat; // saving category
//..... code

answer.php (第3档) 该文件显示结果

 $cat_id=$_SESSION['cat']; // error here it says undefined
$response="SELECT * FROM questions WHERE cat_id='$cat_id'";
    $sql=mysqli_query($con,$response);


        while($row=mysqli_fetch_assoc($sql)){
             if($row['ans']==$_POST[$row['q_id']]){
            $right_answer++;
        } else if($_POST[$row['q_id']]=="no_attempt"){
            $unanswered++;
        } else {
            $wrong_answer++;
        }

    }

会话变量$cat_id用于检查来自cat = $cat_id

的数据库的已保存答案

一切正常,但 answer.php文件未定义的猫

中出现错误

我做错了什么

1 个答案:

答案 0 :(得分:-1)

可能出错的地方是,检查您是否在页面顶部开始会话。其他事情检查表格帖子是否正常工作