Problème session Firefox

Florynth Messages postés 48 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 7 février 2008 - 12 août 2006 à 00:27
albyor Messages postés 1 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 11 septembre 2006 - 11 sept. 2006 à 17:49
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

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
12 août 2006 à 00:58
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à.
à+
0
Florynth Messages postés 48 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 7 février 2008
12 août 2006 à 01:42
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
0
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
12 août 2006 à 07:14
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
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
12 août 2006 à 13:04
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Florynth Messages postés 48 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 7 février 2008
12 août 2006 à 14:37
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
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
12 août 2006 à 14:49
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 ?
0
Florynth Messages postés 48 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 7 février 2008
12 août 2006 à 14:53
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
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
12 août 2006 à 15:30
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...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 août 2006 à 07:15
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.
0
Florynth Messages postés 48 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 7 février 2008
14 août 2006 à 14:20
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
0
albyor Messages postés 1 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 11 septembre 2006
11 sept. 2006 à 17:49
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:
0
Rejoignez-nous