maroco Posté 1 Septembre 2009 Posté 1 Septembre 2009 Bonjour, J'ai un petit souci concernant l'utilisation des cookies sur un site un cours de réalisation. Par défaut lorsque l'on arrive sur le site, un cookie est généré avec un certain nombre d'informations comme la langue anglaise par exemple. L'utilisateur a la possibilité de choisir une autre langue, dans ce cas le cookie existant est supprimé puis un nouveau cookie est créé contenant de nouvelles informations. Mon souci est que si l'utilisateur choisi une autre langue dans une page du site, le nouveau cookie ne s'applique que pour cette page. Si je vais sur une autre page du site, ce sera le cookie créé par défaut qui prend le relai et puis si je reviens sur la page 2 (celle sur laquelle on vient de changer la langue) le cookie appelé est le nouveau !!! Ce que j'aimerai, c'est que lorsque je souhaite changer de langue, ce changement puisse se faire sur l'ensemble du site. Si quelqu'un sait d'où peut venir le problème ça m'arrangerait pas mal. Merci beaucoup. Ci-dessous les fonctions JS utilisées : function cre_cook0(nom,contenu) { document.cookie = nom + "=" + escape(contenu); } function cre_cook(name, value){ var aujourdhui = new Date(); var expdate = new Date(); expdate.setTime( aujourdhui.getTime() + ( 365*24*60*60*1000 ) ) document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString(); } function lit_cook(nom) { var deb = ""; var fin = ""; deb = document.cookie.indexOf(nom + "="); if (deb >= 0) { deb += nom.length + 1; fin = document.cookie.indexOf(";",deb); if (fin < 0) fin = document.cookie.length; return unescape(document.cookie.substring(deb,fin)); } return ""; } function tue_cook(nom) { cre_cook0(nom,"",-1); } function litCook(nom) { c=lit_cook(nom); if(c=="") return false; else return c; } cre_cook("nomducookie","val1,val2,val3,val4");
ams51 Posté 1 Septembre 2009 Posté 1 Septembre 2009 Il faut peut être regarder du côté de la variable path du cookie function SetCookie ( name, value, expires, path, domain, secure) { szCookie = name + "=" + escape (value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = szCookie;} voir de ce côté : http://www.sam-mag.com/archives/cookies2.htm
maroco Posté 2 Septembre 2009 Auteur Posté 2 Septembre 2009 (modifié) Super merci grand chef Avec ta remarque très pertinente je me suis aperçu qu'effectivement Firefox me disait pourtant bien (dans la liste des cookies dispos) qu'il fait une distinction de path... Voici ce que devienne les fonctions de suppression et de création de cookie : function cre_cook0(nom,contenu) { document.cookie = nom + "=" + escape(contenu)+";domain=mondomain;path=/"; } function cre_cook(name, value){ var aujourdhui = new Date(); var expdate = new Date(); expdate.setTime( aujourdhui.getTime() + ( 365*24*60*60*1000 ) ) document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString()+";domain=mondomain;path=/"; } Ce qui change est domain=mondomain;path=/ Les autres fonctions sont inchangées. Merci beaucoup Une dernière petite question, comment modifier le statut du message ?? Modifié 2 Septembre 2009 par maroco
ams51 Posté 2 Septembre 2009 Posté 2 Septembre 2009 Qu'est ce que tu entends par le "statut du message" ?
maroco Posté 3 Septembre 2009 Auteur Posté 3 Septembre 2009 Je souhaite juste indiquer que le problème est résolu.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant