Problème session PHP

playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   -  
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai créé un petit site en PHP, mais quand j'initialise une ou plusieurs session(s) elles sont automatiquement supprimés.
Par exemple quand j'initialise cette session : $_SESSION['masession'] = 'la valeur';
puis sur une autre page je veux l'afficher, il affiche cette erreur :
Undefined index: masession in /var/www/mySite/page.php on line 16

Avez-vous une idée pour résoudre ce problème ?
Merci
A voir également:

3 réponses

__construct
 
Bonjour,

On initialise une session avec session_start()
<?php
session_start();
$_SESSION['masession'] = 'la valeur';
?>

Si tu l'as fait alors tu dois pouvoir récupérer tes variables de session dans toutes les pages où tu en as besoin. Bien entendu, dans ces pages aussi il faut faire un session_start() AVANT de récupérer ou d'afficher tes variables de session.
Je ne sais pas si j'ai été clair, à toi de me confirmer...
0
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   273
 
Bonjour,
Oui bien sûr, que je l'ai fait, il est dans un fichier header.inc.php qui est inclut dans toutes les pages de mon site mais on dirait que toutes les sessions sont supprimer à la fin de l'exécution de chaque page.
J'ai déjà vérifier mais je ne trouve pas de "session_destroy()" dans mes classes donc je me demande d'où vient le problème...
0
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   273
 
Personnes peut m'aider ?
0
coca4life Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   5
 
tu as bien vérifié qu'il n'y ait vraiment rien devant?
essaye un echo $session voir si ca te met un truc ou juste l'erreur
0
__construct
 
Vérifies en testant comme ceci. Tu crées 2 fichiers tout simple, nommé par exemple test1.php et test2.php
Dans test1.php :
<?php
session_start();
$_SESSSION['test'] = 'Test de session réussi';
?><a href="test2.php">Voir résultat du test de session dans fichier test2.php</a>

Dans test2.php :
<?php
session_start();
echo $_SESSION['test'];
?>

Donc si ce test fonctionne, c'est-à-dire que le message "Test de session réussi" s'affiche bien, les sessions sont bien enregistrées sur le serveur et il se pourrait que dans tes scripts une ligne de code détruise les sessions.
Vérifies également par un phpinfo() la configuration de ton serveur concernant les sessions.
A part ça je ne vois pas où peut se situer le problème, mes connaissances dans ce domaine ne vont pas aussi loin...
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
tu n'initialiserai pas la session sur toutes les pages?

$_SESSION['masession'] = 'la valeur';

mets tu ca sur toutes tes pages? si oui, ca peut-etre le souci.
0
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   273
 
Merci pour vos aides !
J'ai finalement trouvé le problème.
Ceci est dû à session_regenerate_id();
Quand je laisse cette fonction, la session est détruite à la fin de l'exécution de chaque page, pourtant ce n'est pas le but de cette fonction.
Donc je me demande pourquoi j'ai un tel problème avec cette fonction...
Avez-vous une idée ?
Merci
0