Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Session variables lost between pages [duplicate]

In a page, two variables are passed in a URL.

In the second page, these variables are initialized. At submit, new page open. The problem is here, I can't recover the session variables.

The script indicate a error (undefined index).

Thanks for help in advance.

Here the code :

First page :

<?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/>';
}   
?>  

Second page :

$_SESSION['classe'] = $_GET['classe'];
$_SESSION['cours'] = $_GET['cours'];

Third page :

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);
like image 595
Sab25 Avatar asked Sep 12 '14 07:09

Sab25


People also ask

Where Are session variables saved?

By default, session data is stored in the server's /tmp directory in files that are named sess_ followed by a unique alphanumeric string (the session identifier).

How long do session variables last?

By default, session variables last until the user closes the browser. So; Session variables hold information about one single user, and are available to all pages in one application. Tip: If you need a permanent storage, you may want to store the data in a database.

How many session variables can you have?

As @Thariama said, there's no limit on the number of variables; also, there's no limit on the amount of data you can store in a session (I've seen sessions tens of MB in size).


1 Answers

You must initialize the session by calling session_start() at the beginning of each script. Make sure this is always the first line, as session_start() sends headers.

Find a few examples on basic usage in the PHP docs.

like image 178
Kaii Avatar answered Sep 30 '22 15:09

Kaii