我在3个页面上开设了会议:
teacherlogin.php(第1页)
while($row = mysql_fetch_array($result))
{
session_start();
$_SESSION['teacherforename'] = $row['TeacherForename'];
$_SESSION['teachersurname'] = $row['TeacherSurname'];
}
create_session.php(第2页)
while ($row = mysql_fetch_array($result)) {
$dataArray[$row['CourseId']]['CourseName'] = $row['CourseName'];
$dataArray[$row['CourseId']]['Modules'][$row['ModuleId']]['ModuleName'] = $row['ModuleName'];
$_SESSION['idcourse'] = $row['CourseId'];
$_SESSION['namecourse'] = $row['CourseName'];
}
QandATable.php(第3页)
session_start();
<p>{$_SESSION['courseid']} {$_SESSION['namecourse']}</p>
<p>{$_SESSION['teacherforename']} {$_SESSION['teachersurname']}</p>
现在发生的事情是第3页能够从第1页检索$ _SESSION,但是当我尝试从第2页获取第3页以检索$ _SESSIONS时,它会为第2页提供未定义的索引通知$ _SESSIONS 。这是为什么?
我尝试在第2页中包含session_start(),但它返回时发出通知,说明会话已经开始,因此忽略了session_start()。
答案 0 :(得分:3)
您正在为每个结果开始一个新会话。将session_start()函数移动到while循环之前。