Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 03h49   #1
Invité de passage
 
Homme Mathieu
Inscription : décembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut Session qui disparaît et réapparaît en partie en fonction de l'extension

Bonjour,

J'ai fait une recherche sur le forum dans l'espoir de trouver un cas identique au mien, mais je n'ai rien trouvé. J'ouvre donc un nouveau sujet.

Bon, le site dont je m'occupe fonctionnait très bien jusqu'à la semaine dernière, donc j'en déduis que le problème est lié d'une manière ou d'une autre à mon hébergeur (changement de configuration ? problème de cache ?...). Je lui ai envoyé un message, mais pour le moment, pas de réponse, donc je me tourne vers vous pour essayer de comprendre ce qui arrive, parce que là, j'en perds mon latin.

Le site est le suivant : http://duplication.rrc.fr

En haut à gauche, un petit module pour se connecter. Le problème est très étrange. Je me connecte, tout va bien.

Pour info, chaque page du site commence par un include('_haut_modele.php4'); tout en haut, et celui-ci commence par un session_start(); juste après le <?php (il n'y a donc pas d'espace qui pourrait gêner la session). J'ai collé un print_r($_SESSION) pour pouvoir tester, voilà ce que je vois.

Pour info, j'ai collé le même print_r($_SESSION) en bas de page, juste avant le ?> de fin, et le résultat est le même. Autrement dit, entre le print_r à la fin d'une page et le print_r au début de la suivante, les variables ne sont pas retouchées par mes pages.

Après connexion, je suis redirigé vers la page http://duplication.rrc.fr/clients.php?act=co (extension PHP), là, la session se présente sous la forme :

Citation:
Array
(
[espion] => Array
(
[time] => 1324341640
[demarrage] => 1324341654
)

[stat_news] => Array
(
[mail] =>
[news] =>
[pages_vues] => 47
[temps_depart] => 1324341640
[temps] => 1324348122
)

[client] => Array
(
[id_client] => 2
[mail] => mathieu.XXX@gmail.com
[nom] => XXX
[prenom] => Mathieu
[societe] => Kouryu
[tel] => 0491010101
[port] =>
[fax] => 0491020202
[adresse] => XXX
[cp] => XXX
[ville] => XXX
[pays] => Fr
)

)
Ensuite, si je clique sur la page http://duplication.rrc.fr/duplication.php4?lien=start (ou n'importe quelle page avec l'extension PHP4), la session ressemble à ça :

Citation:
Array
(
[espion] => Array
(
[time] => 1324341628
[demarrage] => 1324341628
)

[stat_news] => Array
(
[mail] =>
[news] =>
[pages_vues] => 42
[temps_depart] => 1324341628
[temps] => 1324348675
)

[visite_up] => ok
[client] => Array
(
[id_client] =>
[mail] =>
[nom] =>
[prenom] =>
[societe] =>
[tel] =>
[port] =>
[fax] =>
[adresse] =>
[cp] =>
[ville] =>
[pays] =>
)
)
Le $_SESSION['client'] est complétement vide, alors que le reste est toujours rempli.

Mais pire encore, si je retourne http://duplication.rrc.fr/fonctionnement.php ou toute page avec l'extension PHP, la session est comme suit :

Citation:
Array
(
[espion] => Array
(
[time] => 1324341640
[demarrage] => 1324341654
)

[stat_news] => Array
(
[mail] =>
[news] =>
[pages_vues] => 51
[temps_depart] => 1324341640
[temps] => 1324348746
)

[client] => Array
(
[id_client] => 2
[mail] => mathieu.XXX@gmail.com
[nom] => XXX
[prenom] => Mathieu
[societe] => Kouryu
[tel] => 0491010101
[port] =>
[fax] => 0491020202
[adresse] => XXX
[cp] => XXX
[ville] => XXX
[pays] => Fr
)
)
Donc la session n'a pas été détruite ou effacée, elle est simplement inaccessible si le fichier n'est pas en PHP, et ça, je n'arrive pas à comprendre comment c'est possible... J'ai fait un test en rajoutant echo session_id(); et l'identifiant de session reste bien le même quel que soit le type d'extension...

Si quelqu'un a une piste ou une idée, merci d'avance.
Spartan001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 08h59   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Si j'ai bien compris ta session se comporte différemment selon que tes pages sont en .php ou .php4, c'est bien ça ?
Peut-être que le config d'exécution est différente pour les .php (PHP5 ?).
Fais un phpinfo( ) dans une page en .php et un autre phpinfo( ) dans une page en .php4, et compare les valeurs des directives de session, notamment le session.save_path.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 01h08   #3
Invité de passage
 
Homme Mathieu
Inscription : décembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2011
Messages : 2
Points : 1
Points : 1
Merci pour la réponse.

J'ai donc fait le test, et effectivement, le session.save_path n'est pas le même dans les deux cas. /var/lib/sessionsphp pour le .php (qui est considéré comme du PHP 5) et /tmp pour le .php4.

Edit : Oh purée oui, merci ! J'avais pensé à un truc du genre, mais comme je ne savais pas... J'ai rajouté un :

Citation:
AddType application/x-httpd-php5 .php4
Et maintenant, tout fonctionne nickel ! Merci de m'avoir mis sur la voie
Spartan001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h24.


 
 
 
 
Partenaires

Hébergement Web