Problème session PHP

Fermé
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 - 21 août 2011 à 11:13
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 - 22 août 2011 à 11:59
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

3 réponses

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 samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
Modifié par playboy-1990 le 21/08/2011 à 12:38
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 samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
21 août 2011 à 22:50
Personnes peut m'aider ?
0
coca4life Messages postés 69 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 1 septembre 2011 5
22 août 2011 à 09:53
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
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 jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 975
22 août 2011 à 02:17
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 samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
22 août 2011 à 11:59
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