Cookies et IE : Ok en local, KO sur serveur.

Signaler
Messages postés
30
Date d'inscription
vendredi 22 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009
-
Messages postés
30
Date d'inscription
vendredi 22 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009
-
Salut la foule !<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>









 








Je développe actuellement un Intranet pour ma boite.









Comme le serveur n’est pas des plus rapide, je code dans un premier temps en local.









 








Ce script contient un menu vertical dépliable progressivement, il a également pour bénéfice de garder en mémoire via cookies, la dernière rubrique ouverte lors du rechargement.









 








En local, cela fonctionne très bien sur tous les navigateurs, mais lorsque je le met sur le serveur : ça ne fonctionne plus avec Internet explorer (6&7) ! (FireFox OK).









Non seulement le menu ne garde rien en mémoire, mais en plus toutes les rubriques sont ouvertes !









 








Pour moi nous sommes face à un phénomène surnaturel car le javascript est un langage qui s’exécute coté client ! Que la page soit chargé depuis un serveur ou depuis C:/mes_doc ne doit rien changer si ? Devrais-je revoir mes fondamentaux ?









 








Le hic c’est que ma boite navigue avec Internet Explorer V6 et les cookies sont accepté alors avant de poster mon code, je voulais savoir si vous aviez déjà rencontré un problème de ce type et si vous aviez pu le résoudre.









 








Cordialement.









Hakim.

10 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
bonjour,

oui, oui, j'ai déjà rencontré de nombreux problèmes
( faut dire que je ne suis pas très doué )

>>la page soit chargé depuis un serveur ou depuis C:/mes_doc ne doit rien changer si ?
si si ( l'impératirce )
déjà, en local tu es probablement sous windows, et le serveur ? aussi ? ou il est sous linux ?
      s'il est sous linux, par exemple, les majuscules/minuscules dans le noms des répertoires/fichiers
         sont sans importance en local, pas sur le serveur.
ou même... tu utilises php sur le serveur, toujours par exemple ?
     tu es sûr d'avoir la même version ? le même paramétrage ? .....
ou...

bon... ce n'est peut-être pas ton cas, mais de nombreuses possibilités
que cela diffère chez l'un par rapport à l'autre, mais avec aussi peu
d'infos, ça va pas être simple...

Cordialement

         Bul [mon Site] [M'écrire]         
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
ah... j'avais pas vu le titre !
c'est avec les cookies qu'il y a un problème ?
vérifie alors peut-être d'abord ce qui est mis dans ;expire=????
          Bul [mon Site] [M'écrire]         
Messages postés
30
Date d'inscription
vendredi 22 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009

Hi bultez !<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>









 








Merci pour ces infos.



















Les PC sont bien sous XP, les serveurs sur Windows Server 2003 avec IIS 6.









Toutes les pages sont en PHP, mais est-ce vraiment important étant donné que le problème vient du javascript et des cookies (langage local donc) ?


Sinon dans pour l’expire j’ai :










expires=" + d.toGMTString() + "; path=/";


Ca peut venir de la 







Je suis confus mais tu t’en doute, c’est un script ‘’tout fait’’, j’ai déjà codé basiquement en JS mais je ne me suis jamais attaqué aux cookies, je suis donc en terre inconnue.






D’avance merci pour votre aide.








Hakim
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
certes php est coté serveur et javascript coté client,
          mais qui crée le html/javascript... ton php, donc...

pour expires; il faut voir ce que tu met !
       devant, tu dois avoir des lignes qui ressemblent à
...
    var da = new Date();
    var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
...

j'ai déjà eu des souci justement quand cet expires n'était pas correct
( je ne sais plus si c'était en "local" ou sur le site, mais
  d'un coté le cookie était conservé, pas de l'autre )

il reste peut-être du debogage à faire ?
•————————•——————————————————————————————————————————————————————————•
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | o Afficher une notification de chaque erreur de script |
| | o Désactiver le débogage de Scripts (Internet Explorer) |
| | et mieux, : télécharger mon Site] [M'écrire]         
Messages postés
30
Date d'inscription
vendredi 22 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009

Re,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>









 








Tu dis que j’ai c’est le PHP qui renvoie le html/javascript. Pour le html, ok mais pour le javascript ? Même si celui si est dans un fichier JS bien distinct ?









 








Dans tous les cas la fonction complète est la suivante :









 







SDMenu.prototype.memorize = function() {








            if (this.remember) {








                        var states = new Array();








                        for (var i = 0; i < this.submenus.length; i++)








                                    states.push(this.submenus[i].className == "collapsed" ? 0 : 1);








                        var d = new Date();








                        d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000));








                        document.cookie = "sdmenu_" + encodeURIComponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.toGMTString() + "; path=/";








           
}










 








 








Si vous avez une idée... ?









Hakim
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
je ne vois pas d'anomalies....
tu as vérifié si le cookie était créé ? et ce qu'il contient est bon ?
en le comparant avec celui crée "en local", c'est la même chose ?

ou alors.... l'erreur est ailleurs ?
ce n'est peut-être pas du au cookie

deboggage, pas à pas...

          Bul [mon Site] [M'écrire]         
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Bonjour,
Puis je me permettre? ...les cookies
sont-ils acceptés sur les postes de ton intranet ?
;O)
Messages postés
30
Date d'inscription
vendredi 22 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009

Hello Petol,

comme précisé dans mon premier message, oui, les cookies sont aceptées.
je crois que la machine va (une fois de plus) l'emporter sur l'homme, je vais m'orienter vers un autre code.

Je viens de me rendre compte que je rencontre le même problème avec la fonction session start de PHP !
même si c'est un autre histoire, c'est la même configuration de problème.
en local : OK sur tous navigateurs, sur serveur : KO sur IE 6 et 7 only

je désespere...
Hakim
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>Je viens de me rendre compte que je rencontre le même problème avec la fonction session start de PHP !
>>même si c'est un autre histoire,
ah ben non du coup : c'est la même histoire je pense
le paramétrage et/ou la version de php  doi[ven]t être différent[s]
un spécialiste qui passera (?)  par ici tu diras probablement ça de manière plus précise
ou alors poser la question dans http://www.phpcs.com/
          [mon Site] [M'écrire]  Bul         
Messages postés
30
Date d'inscription
vendredi 22 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009

Thanx,

Ba dans ce cas je vais tanter de mettre tout en HTML/javascript (en éliminant le PHP d'une page) et je vais voir si le problème se représente ou non.
je reviens poster le résultat ce soir.