[php] Les sessions ne tiennent pas

Résolu
Matthia$ Messages postés 364 Date d'inscription   Statut Membre Dernière intervention   -  
Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   -
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 ?
A voir également:

3 réponses

Xil Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   257
 
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 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
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   Statut Membre Dernière intervention   78
 
"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 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
Heureux de t'avoir rendu service ;-)

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