2015-08-30 123 views
0

我试图根据用户点击的当前主题(主题称为会话)从测验列表中显示测验。会议有练习,并且我希望每次练习都能参加特定的会话测验(一节有5个练习和1个测验)。当单击quiz按钮时,我试图使用当前的$session_id显示测验题目和作者,并将其与数据库中的quiz_list表中的session_id链接起来。用C SESSION_ID:通过php和html显示测验

没有显示的是,我得到这样的错误:

注意:未定义指数\ XAMPP \ htdocs中\上线项目\ quiz.php 8

警告:mysqli_fetch_assoc ()预计参数1被mysqli_result,在C中给出布尔:\ XAMPP \ htdocs中\上线项目\ quiz.php 13

exercise.php:

<?php 
    //build up array as iterate through while loop 
    $sessions_quiz_array = array(); 
    $get_quiz = mysqli_query($con, "SELECT * FROM `quiz_list` WHERE `session_id` = $session_id"); 

    //fetches result row as an associative array 
    while ($row_quizes = mysqli_fetch_assoc($get_quiz)) { 
    $sessions_quiz_array[] = $row_quizes; 

    } 

    //sessions_quiz_array is the associative array being looped 
    foreach ($sessions_quiz_array as $key => $value) { 
     $quiz_id = $value['id']; 
     $quiz_title = $value['quiz_title']; 
     $quiz_author = $value['quiz_author']; 
     ?> 

    <a id='button' href="quiz.php?id=<?php echo $quiz_id; ?>"> Quiz</a> 


      <?php } ?> 

quiz.php

<?php 
    session_start(); 
    include("includes/database.php"); 
    ?> 
    <?php 
     //gets current 
     $session_id = $_GET['session_id']; 

    $get_quiz = "SELECT * FROM `quiz_list` WHERE `session_id` = $session_id"; 

     $run_quiz = mysqli_query($con, $get_quiz); 
     $quiz_info = mysqli_fetch_assoc($run_quiz); 

    ?> 
     <hr> 
     <div> 

     <h1><?php echo $quiz_info["id"]; ?> </h1> 
     <br> 
     <p><?php echo $quiz_info["quiz_title"]; ?></p> 
     <br> 
     <p><strong><?php echo $quiz_info["quiz_author"]; ?></strong></p> 


     </div> 
     <hr> 

     <a href="interactive_training.php" class="button previous">&laquo; Back to Training</a> 

任何帮助将不胜感激。

+0

@FuzzyTree感谢指出了这一点!修复! – Davidaj

回答

2

在你的文件exercise.php的GET请求IDsession_id附近quiz.php?id=

你需要做以下你quiz.php文件更改。从变化

$session_id = $_GET['session_id']; 

$session_id = $_GET['id']; 

Addiotionally可以执行整个页面就像

if(!isset($session_id)) 
{ 
    exit('Session ID is missing'); 
} 
+0

添加验证并将测验按钮网址更改为: Quiz它工作正常,谢谢! – Davidaj

+0

@Davidaj我很高兴它适合你。在'?> && id = <?php e'附近的链接中有'&&'双重符号 – Hassaan

1

你quiz.php前添加检查变为: -

替换此

$session_id = $_GET['session_id']; 

$session_id = $_GET['id'];