Problème session Firefox

Signaler
Messages postés
48
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
7 février 2008
-
Messages postés
1
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
11 septembre 2006
-
Bonjour à tous,

voilà mon problème.

Je fais un panier d'achat pour un site et je stocke les produits dans un tableau , l'index du tableau et le numéro de produit et la valeur et la quantité voilà le var_dump (qui contien d'autre variable

array(4) {
  ["session_timeout"]=>
  &int(1155334547)
["shopping_cart"]=>
  &array(1) {
["00000002"]=> int(0)
}
  ["msg_system"]=>
  &NULL
  ["wsm_current_user"]=>
  &string(8) "00001001"
}

Le problème que j'ai c'est que sous Firefox il ne se rappel pas de la deuxième dimension du tableau $_SESSION en fait il perd la valeur mais pas le type ni l'index, donc si je mais 12 comme quantité au numéro de produit "00000007" c'est OK mais lorsque qu'il recharge la page il sait que c'est un (int) mais il perd la valeur donc il met 0. Je n'ai pas ce problème sous IE et toute les variables qui ne sont pas des tableaux n'ont pas de problèmes...

Je sais pas quoi faire du tout car il se rappel de certaines valeurs donc ça doit pas qu'il perd la session ni qu'il utilise pas la bonne car il se rappel des nouveaux index (produit) qui ont été ajouté au panier...

Je commence a être sérré pour mon deadline et je veux pas dire à mon client de forcé les utilisateurs d'avoir IE, au début p-e car c'est un très petit site, mais je vais avoir besoin de corriger ce problème rapidement.

Merci pour votre aide
Florynth

11 réponses

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Salut,
tu parles de variables de session, donc côté serveur, comment pourrait-il y avoir un rapport avec le navigateur ?
Tu n'utiliserais pas du javascript par hasard? regarde peut-être de ce côté-là.
à+
Messages postés
48
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
7 février 2008

C'est justement ce que je trouve très bizarre et non il n'y a pas de javascript...


Ça ma pris comme trois heures avant de me rendre compte que c'etais juste sur FireFox car il n'y a aucun problème sur IE c'est pour ça que je suis un peu désespéré.

Florynth
Messages postés
155
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 février 2009

Essaye sur une autre ordi on sais jamais. Si sa marche sur un autre ordi alors c'est ton ordi le probleme. ET aussi ton site pour tester est en ftp ou un serveur personnel? Tente aussi de changer d'ordi le server personnel ou justement de tenter sur un ftp.

Tu nous en dira des nouvelles.

~~ Cordialement Francois Gingras
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Hello tous,
Bizzard > je ne pense pas que ça réglera le pb, ça ne change rien que le site soit sur un serveur distant ou sur sa machine, et s'il a un pb, d'autres l'auront surement...

Florynth : fais un print_r( ton tableau ); et regarde si tout s'affiche bien sous IE et FF.
Ce que tu dis ressemble à un pb de cache mais il n'y a pas de raison a priori qd tu fais un refresh...
Messages postés
48
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
7 février 2008

Bonjour,


Le site est présentement sur le serveur dont je me sers pour l'hébergement de mes clients donc c'est sur celui-ci que je dois réglé le problème...


Voici un var_dump de $_SESSION sur IE après avoir mis 10 quantité au produit numéro 00000002


array(4) {
  ["session_timeout"]=>
  &int(1155385625)
  ["shopping_cart"]=>
  &array(1) {
    ["00000002"]=>
    int(10)
  }
  ["msg_system"]=>
  &NULL
  ["wsm_current_user"]=>
  &string(8) "00001001"
}

et ce lui de FireFox

array(4) {
  ["session_timeout"]=>
  &int(1155385872)
  ["shopping_cart"]=>
  &array(0) {
  }
  ["msg_system"]=>
  &NULL
  ["wsm_current_user"]=>
  &string(8) "00001001"
}

Bizarrement hier il se rappelait au moins que j'ai mis un produit la c'est comme si rien se passait...


J'ai fait plusieurs refresh et en plus j'ai un code qui empêche la cache et je vois bien que la variable session session_timeout change adéquatement ainis que le wsm_current_user quand je me log...

Les connaissances que j'ai des sessions me dises que la variable SID peut-être passé via l'url, les cookies,... mais les variables elles mêmes sont stockés sur le serveur alors je vois vraiment pas pourquoi ça marcherait pas !

Florynth
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
C'est bizarre... est-ce que le pb ne viendrait pas du moment où tu insères les variables, genre IE les envoie au serveur et pas FF ?
Messages postés
48
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
7 février 2008

J'ai refais le test une deuxième fois pour m'en assurer mais non j'ai fait un echo de la variable qui est envoyé par le Formulaire et elle apparait bien, j'ai fais un echo de la variable dans ma funcition elle apparait bien, j'ai fait un var_dump de $_SESSION après avoir mis la variable et c'est OK mais elle n'est pas enregistrer quand je change de page...

Florynth
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Dans ce cas je ne vois pas... surtout si tu dis que ça marche sous IE !
en général lorsqu'une variable n'est pas enregistrée en session c'est juste qu'on a oublié le session_start, mais là ça ne doit pas être le cas. Bonne chance...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

y aurait pas une interdiction sur ton firefox pour la (les) page où tu enregistres cette partie de ta variable de session ?
En fait, j'aimerais voir le code incriminé. Parce que c'est quand même bizarre.
Messages postés
48
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
7 février 2008

Non car c'est toujours la même page...

wsm.php?mod_name=ecom&mod_cmd=view_shopping_cart.php

c'est les paramètres qui change...

La vous allez me trouver fou... je viens d'y retourné pour te donner l'adresse exacte... j'ai du modifier quelques lignes dans les pages sans porté attention à ça et la ça marche. Le seule problème que j'ai c'est que c'est peut-être "intermitant" en fonction de la cache ou quel page je passe... p-e il y avait t'il un mélange de session sous firefox et il ne loadait pas la bonne. Maintenant que ça fait plus de 24 heures que je n'avais pas fait de test sous firefox ça du faire un bon nettoyage...

De toute façon pour l'instant ça marche, si j'ai une plainte de la part de mon client je me repencherais sur le problème et je vais vous faire signe à ce moment

Merci

Florynth
Messages postés
1
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
11 septembre 2006

Bonjour,

Je viens de tomber sur ce topic qui date (non je ne suis pas archéologue  :D ), car je viens de me frotter au problème.

Voici mon cas :

En arrivant sur le site, le fichier de session est bien créé sur le serveur, par la présence d'un session_start() en début de page index.php.
En page d'accueil j'ai un formulaire de connexion (login, mot de passe)
On saisit le login et le mot de passe , et le fichier de session disparait 8O
donc on perd les identifiants  :twisted:

Après analyse du code j'ai retrouver une fonction que j'ai développé :
function retour_login($type_erreur)
{
    
    session_destroy();
    echo "<script type='text/javascript'>location.href='http://mapage.com/index.php?message=".$type_erreur."';</script>";
}


cette fonction ne sert que si le login et/ou le mot de passe ne sont pas corrects.
Logiquement, il n'interprète pas cette fonction, puisque le login et le mot de passe son correct  :lol:

Bah pourtant et apparemment si !
Si je mets le session_destroy en commentaire, bah ça fonctionne !

Autre petite chose : en laissant le session_destroy et que l'on demande à FF de ne pas afficher les images, bah ça fonctionne aussi !

Voilà, si ça peut aider  :wink: