Problème session PHP
playboy-1990
Messages postés
593
Statut
Membre
-
playboy-1990 Messages postés 593 Statut Membre -
playboy-1990 Messages postés 593 Statut Membre -
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
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...-
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... -
-
-
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...
-
-
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. -
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