Perte de session

Eléphant du PHP | 226 Messages

19 oct. 2009, 15:04

Bonjour,
J'ai un certain nombre de données à afficher, en fonction de deux informations provenant d'un formulaire. Les dites données sont paginées (affichées page par page). Ce qui nécessite que je conserve les éléments transmis par le formulaire, d'où l'utilisation des sessions.
Problème : la mise en session s'effectue bien. Les premières données s'affichent correctement (donc requêtes fonctionnelles). Si je clique sur le lien 'page suivante' pour visualiser les données restantes, les requêtes restent lettre morte. Sur la première page, un var_dump m'affiche bien le contenu de la session. Sur la page suivante, il me renvoie NULL! Je précise que session_start(); figure sur les deux fichiers (formulaire et page d'affichage des données). error_reporting(E_ALL) est également silencieux...
Bref, je suis devant une incompréhension totale! Une idée ?
merci,
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 oct. 2009, 15:28

Bonjour,

Pour qu'une session soit transmise d'une page à une autre, il faut qu'un identifiant de session soit passé soit dans l'url de la page soit dans les cookies.
Commence déjà par vérifier ces deux points, si tu n'as pas de cookie ni d'identifiant dans l'URL alors le serveur sera incapable de reconnaitre le visiteur et de lui accoler la session qui va bien :)
Pour voir les cookies de la page, l'extension Web Developer de Firefox est très pratique
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 226 Messages

19 oct. 2009, 15:59

Merci pour la réponse. Il y a bien un cookie de généré par le serveur (j'ai l'extension Web Developer)
Je viens par ailleurs de faire un test avec un header('Location'). Le système de pagination fonctionne correctement. (Et pourquoi d'ailleurs ?) Le problème étant qu'il n'y a pas de cible (_blank, _self...) Or, il faut absolument que je puisse ouvrir une nouvelle page...
merci,
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.

Eléphant du PHP | 226 Messages

19 oct. 2009, 16:32

Ok, j'ai décidé de passer par un fichier intermédiaire avec le header. Ca ira très bien comme ça...
merci.
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.