Rechercher : dans
Par :

Ajax - Erreur de Sessions chez Free

Dernière réponse le 3 jun 2009 à 10:39:46 kij_82, le 3 jun 2009 à 01:11:31 
 Signaler ce message aux modérateurs

Bonjour,

J'ai mis en ligne un site internet qui fonctionne chez moi et au boulot en local. (PHP5 Mysql)
Ce site utilise de l'Ajax pour mettre à jour des variables en session.

Or je constate que si mon site ne fonctionne pas chez mon hébergeur (free), c'est parce que mes variable de session qui sont mises à jour dans mes scripts PHP au niveau du serveur, ne sont pas reconnues correctement sur la page web.

Pour ceux qui connaissent un peu moins bien les rouages de l'ajax, en gros, un script javascript appel depuis une page web un ficher PHP chargé de faire du traitement. Dans mon cas ce fichier PHP met à jour des variables en session, puis, déclenche une fonction de raffraichissement de ma page (fonction javascript donc).
Lorsque la page s'affiche à nouveau, les variables de session devrait avoir les nouvelles valeurs mises à jour précédemment, or ce n'est pas le cas !

J'essai de comprendre pourquoi depuis un moment mais j'avoue que je ne trouve pas.

Quelqun connaitrait-il la solution ?

En vous remerciant d'avance.

ps: j'ai vérifié, la session est bien toujours la même, pas de problème de ce coté.

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :)    ~

Configuration: 1,72m
Blonde aux yeux bleus avec forte poitrine :p

Meilleures réponses pour « Ajax Erreur de Sessions chez Free » dans :
FreeBox HD - WiFi 4/8 VoirLorsque vous allumez votre boîtier Freebox HD, celui-ci reste bloqué sur le message WiFi 4/8. Si les causes de cette erreur restent mystérieuses, voici une procédure permettant peut-être de faire repartir le fameux boîtier vidéo : Après avoir...
AJAX (Asynchronous Javascript And XML) VoirIntroduction à AJAX AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) est une méthode de développement web basée sur l'utilisation d'un script Javascript pour effectuer des requêtes web à l'intérieur d'une page web...

1

gaerebut, le 3 jun 2009 à 03:17:38

Salut,

tu as cas retourner la valeur de la session une fois le changement fais avec le PHP. Ensuite tu affiche un simple alert contenant ce que le PHP te renvoie (la session changée).

Et si tu veux pousser, fais un try..catch en PHP qui renvoie une exception si il y a une erreur. Là tu sera fixé ;)

Redis moi l'erreur :)

A+

Gaerebut Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1:  ne jamais dire tout ce que l'on sait...
-Règle 2: ...

Répondre à gaerebut

2

le père, le 3 jun 2009 à 09:35:41

Bonjour

Chez free, pour que les sessions fonctionnent, il faut créer un répertoire appelé 'sessions' à la racine. Tu n'as rien à mettre dedans.

Répondre à le père

3

 kij_82, le 3 jun 2009 à 10:39:46

Re bonjour,

Concernant les répertoires "session", effectivement chez Free il est obligatoire, mais ce n'est pas de là que vient le problème puisqu'il y ai déjà :)
Pour ce qui est de laisser des traces, déjà fait, et c'est justement ça qui m'a mis la puce à l'oreille sur une "mauvaise gestion" des sessions.

Au final j'ai trouvé d'où cela vient : simplement du serveur que j'ai loué et de sa config.
Il suffisait d'inclure un fichier .htaccess (ou php.ini chez free vu qu'ils n'acceptent pas les fichiers .htaccess) et d'y mettre les instructions pour changer la variable qui définie le type de transmission des sessions (soit par l'url, soit par les cookies) :

session.use_trans_id = 0

A 0 cette variable signifie que les identifiants de session sont transmis via cookies, alors que mon serveur était configuré avec la valeur 1, il attendait donc que les identifiants de session soient transmis par l'url, chose que je ne faisais pas (et que je ne veux pas faire)


Problème résolu donc.


~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :)    ~

Répondre à kij_82
Collection CommentÇaMarche.net