【问题标题】:passing the session variable [closed]传递会话变量[关闭]
【发布时间】:2016-11-01 18:06:12
【问题描述】:

我的程序中有 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(第三个文件) 此文件显示结果

 $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 文件未定义猫

中显示错误

我做错了什么

【问题讨论】:

  • 另外,我在任何地方都没有看到session_start()
  • 这个问题太清晰了,用泥浆做的玻璃我也能看懂
  • 检查错误。
  • 你也应该养成接受答案的习惯。到目前为止,所有已经给出答案的人,还不知道他们是否解决了这些问题。 “让他们继续猜测” 是您座右铭的一部分吗?就像这个问题一样。
  • session_start() 在我的文件中,我上面没有提到,问题只是在传递会话变量

标签: php mysql session


【解决方案1】:

可能有问题的是,请检查您是否在页面顶部进行了初始会话。其他检查表单帖子是否正常工作

【讨论】:

  • 感谢@waleed Ahmed 的帮助。页面顶部缺少 session_start..非常感谢
  • 如果对您有帮助,请标记接受
  • @WaleedAhmed:WTF,你说我的文件中有 session_start(),我上面没有提到,问题只是在 cmets 中传递会话变量
猜你喜欢
  • 2016-12-19
  • 2016-04-05
  • 1970-01-01
  • 1970-01-01
  • 2018-05-09
  • 2011-06-12
  • 2013-08-11
  • 1970-01-01
  • 2012-12-01
相关资源
最近更新 更多