This question already has answers here:
PHP session lost after redirect

(36个答案)


4年前关闭。




在页面中,两个变量在URL中传递。

在第二页中,将初始化这些变量。提交时,将打开新页面。问题在这里,我无法恢复 session 变量。

脚本指示错误( undefined index )。

预先感谢您的帮助。

这里的代码:

第一页:
<?php
$requete_cours="SELECT COURS.SIGLE AS SIGLE, ANNEE FROM COURS, MODULE WHERE           COURS.ID_MODULE = MODULE.ID_MODULE and ID_PERSONNE = $userid";
//$requete_cours;
$res = mysqli_query($cxn, $requete_cours);
echo (mysqli_error ($cxn));
while($ligne = mysqli_fetch_array($res)){
echo '<a href="professeur_absences.php?classe='.$ligne['ANNEE'].'&amp;cours='.$ligne['SIGLE'].'">';
echo $ligne['ANNEE'].' - '.$ligne['SIGLE'].'</a>';
echo '<br/>';
}
?>

第二页:
$_SESSION['classe'] = $_GET['classe'];
$_SESSION['cours'] = $_GET['cours'];

第三页:
if(isset($_REQUEST['afficher'])){
    $semaine = $_REQUEST['semaine'];
    $classe = $_SESSION['classe'];
    $cours = $_SESSION['cours'];
    $_SESSION['semaine'] = $semaine;
    $requete_cours_id = "SELECT ID_COURS FROM COURS WHERE SIGLE = $cours";
    //echo $requete_cours;
    $res = mysqli_query($cxn, $requete_cours_id);
    echo (mysqli_error ($cxn));
    $coursId = mysqli_fetch_array($res);

最佳答案

您必须通过在每个脚本的开头调用session_start()来初始化 session 。确保这始终是第一行,因为session_start()发送 header 。

找到一些examples on basic usage in the PHP docs

关于php - session 变量在页面之间丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25803293/

10-11 22:23
查看更多