Aller au contenu

Sujets conseillés

Posté

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");

Posté

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

Posté (modifié)

Super merci grand chef :smartass::thumbsup:

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é par maroco

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...