04 décembre 2003
[MT version 2.6.x]
La fonction “se souvenir de mes informations”, dans le formulaire des commentaires, fait appel à un cookie qui stocke le nom, l’adresse courriel et l’URL du site Web. Cela évite au visiteur d’avoir à remplir de nouveau ces champs la fois suivante.
Le javascript gérant les cookies du template “Individual Entry Archive” enregistre le chemin complet (Path). Ainsi, un cookie enregistré sur la page http://www.xxx.net/blog/archives/000132.html ne fonctionnera que pour les pages issues du répertoire blog/archives.
Mais, sur mon carnet web, les archives individuelles sont stockées dans des dossiers distincts, comme embruns.net/blogosphere et embruns.net/notes_du_carnet.
Cela pouvait donner, par exemple, le cookie suivant :
Domain
.embruns.net
Expires
2004-12-03T16:19:51Z
Name
mtcmtauth
Path
/blogosphere
Value
Laurent
Résultat, la fonction “se souvenir de mes informations” ne marchait alors plus que pour les billets de la catégorie “blogosphère” !
Si vous rencontrez ce problème (lié à des archives individuelles stockées dans des dossiers séparés dans l’arborescence), il faut modifier cette partie du javascript dans le template “Individual Entry Archive” :
function rememberMe (f) {
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
setCookie('mtcmtauth', f.author.value, now, '', HOST, '');
setCookie('mtcmtmail', f.email.value, now, '', HOST, '');
setCookie('mtcmthome', f.url.value, now, '', HOST, '');
}
par :
function rememberMe (f) {
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
setCookie('mtcmtauth', f.author.value, now, '/', HOST, '');
setCookie('mtcmtmail', f.email.value, now, '/', HOST, '');
setCookie('mtcmthome', f.url.value, now, '/', HOST, '');
}
C’est ainsi désormais la racine de votre site qui est enregistré dans le cookie, et non le chemin.
Publié par Laurent Gloaguen, le 4 décembre 2003 à 18 h 21.
1. Le 4 décembre 2003, François Granger a dit :
Merci du tuyau.
Tu pourrai mettre l'article complet dans ton fil RSS, s'il te plait ;-)
2. Le 6 décembre 2003, mat a dit :
Mmm, mais quel est l'interet de faire ca en javascript ? De toutes facons ca ne sert que quand un gars "submit" u formulaire, donc autant le faire coté serveur, non ?
3. Le 14 décembre 2003, aqb a dit :
Petit test de la mémorisation des cookies sous safari. (que tu peux bien entendu effacer sans vergogne)
4. Le 14 décembre 2003, aqb a dit :
C'est une conspiration! Cela marche sous Safari, mais pas sur le PC (IE, ni a priori FireBird). Tu aimes le mac mais tout de même ;)))
5. Le 18 décembre 2003, Laurent a dit :
Test...
6. Le 18 décembre 2003, Laurent a dit :
Test.
7. Le 11 février 2005, ¥$ a dit :
Ouaih, test...
8. Le 11 février 2005, ¥$ a dit :
Marche po ?