[php] Les sessions ne tiennent pas

Résolu/Fermé
Matthia$ Messages postés 364 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 17 mars 2010 - 12 févr. 2008 à 11:22
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 - 12 févr. 2008 à 11:46
Bonjour,

Jusqu'à hier, j'utilisais les cookies sans me rapeller pourquoi. J'ai donc tout modifier et compris pourquoi je n'utilisais pas les sessions : elles ne passent pas d'une page à l'autre !
Quand je fais des tests de présence sur la page qui me permet l'identification, pas de problème.
Mais dès que je change de page, toute session disparait.

Voici ce que me donne phpinfo

sessionSession Support 	enabled 
Registered save handlers 	files user 

Directive	Local Value	Master Value
session.auto_start	Off	Off
session.bug_compat_42	On	On
session.bug_compat_warn	On	On
session.cache_expire	180	180
session.cache_limiter	nocache	nocache
session.cookie_domain	no value	no value
session.cookie_lifetime	0	0
session.cookie_path	/	/
session.cookie_secure	Off	Off
session.entropy_file	no value	no value
session.entropy_length	0	0
session.gc_divisor	100	100
session.gc_maxlifetime	1440	1440
session.gc_probability	1	1
session.name	PHPSESSID	PHPSESSID
session.referer_check	no value	no value
session.save_handler	files	files
session.save_path	/tmp	/tmp
session.serialize_handler	php	php
session.use_cookies	On	On
session.use_only_cookies	Off	Off
session.use_trans_sid	Off	Off


Si vous trouvez quelque chose qui cloche...

Merci d'avance
Matthias

PS : Le fait que le CGI soit supporté par mon serveur, ca ne change rien logiquement, non ?

3 réponses

Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
12 févr. 2008 à 11:23
As-tu bien placé un 'session_start();' en début de chaque page ?
C'est ce qui permet de récupérer les informations de session.
0
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
12 févr. 2008 à 11:27
Vérifie les en-têtes envoyés par le serveur : il faut utiliser soit un logiciel comme Ethereal si tu connais, ou sinon un service en ligne :

- http://web-sniffer.net/
- http://www.delorie.com/web/headers.html
- http://www.rexswain.com/httpview.html

En gros ça te permettra de vérifier :
- Que le serveur demande bien la création de cookies
- Que les cookies n'expirent pas immédiatement
- Que rien n'est envoyé au serveur avant le Set-Cookie

En particulier, le session_start() doit être appelé avant tout envoi de données au navigateur (echo, print, etc.).
Même un espace avant l'ouverture de la balise PHP empêche la création du cookie !
0
Matthia$ Messages postés 364 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 17 mars 2010 78
12 févr. 2008 à 11:40
"Même un espace avant l'ouverture de la balise PHP empêche la création du cookie"
Rha la la, il y avait un tab, qui s'était glissé je ne sais comment avant ma balise php...
Pourtant, je savais qu'il ne fallait aucun caractère...

Bah en tous cas, merci bien Jeff !
Problème résolu ^^
0
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
12 févr. 2008 à 11:46
Heureux de t'avoir rendu service ;-)

On en a bavé pour les sessions de CCM ;-)
0