11548 sujets
Bonjour Chadom,
Merci pour ta réponse.
Puisque celle-ci confirme mes craintes, je vais exposer une question plus large avant d'appliquer éventuellement le stockage de la date dans le cookie lui-même.
Question:
Comment modifier la valeur d'un cookie tout en conservant sa date d'expiration initiale et sans stocker celle-ci dans le cookie ?
Exemple concret (et un peu bidon): Comptabiliser le nombre de visite d'une page pendant 3h par un internaute.
Lors de la première visite de la page, un cookie est créé avec une valeur de "1" et reçoit une durée de vie de 3h.
Lors des visites suivantes par l'internaute dans les 3h, la valeur du cookie doit être incrémentée mais sa date d'expiration ne doit pas être modifiée.
Si l'internaute revient après 3h, le premier cookie n'existe plus et un nouveau est donc créé avec un durée de vie de 3h.
Je me demande pas forcément le code complet pour réaliser l'exemple, une simple suggestion ou une piste devrait suffire.
Merci beaucoup
Modifié par Mathieu_vd (24 May 2008 - 10:14)
Merci pour ta réponse.
Puisque celle-ci confirme mes craintes, je vais exposer une question plus large avant d'appliquer éventuellement le stockage de la date dans le cookie lui-même.
Question:
Comment modifier la valeur d'un cookie tout en conservant sa date d'expiration initiale et sans stocker celle-ci dans le cookie ?
Exemple concret (et un peu bidon): Comptabiliser le nombre de visite d'une page pendant 3h par un internaute.
Lors de la première visite de la page, un cookie est créé avec une valeur de "1" et reçoit une durée de vie de 3h.
Lors des visites suivantes par l'internaute dans les 3h, la valeur du cookie doit être incrémentée mais sa date d'expiration ne doit pas être modifiée.
Si l'internaute revient après 3h, le premier cookie n'existe plus et un nouveau est donc créé avec un durée de vie de 3h.
Je me demande pas forcément le code complet pour réaliser l'exemple, une simple suggestion ou une piste devrait suffire.
Merci beaucoup
Modifié par Mathieu_vd (24 May 2008 - 10:14)
Ok, je comprends maintenant ton problème et pourquoi tu voulais lire la date d'expiration.
On ne peut pas mettre simplement à jour la valeur d'un cookie. En pratique on l'écrase à chaque fois, et donc tu perdras en effet la date d'expiration initiale... La seule solution est celle que tu envisages, stoquer la date dans la valeur du cookie lui-même.
Au passage (parce que les dates c'est parfois chiant en js) pour avoir ta date d'expiration (ajouter 3h) :
En élargissant, as-tu envisagé de traiter ton besoin côté serveur plutôt qu'en javascript ? Si tu le peux, les Sessions me sembleraient une solution propre et bien mieux adaptée.
On ne peut pas mettre simplement à jour la valeur d'un cookie. En pratique on l'écrase à chaque fois, et donc tu perdras en effet la date d'expiration initiale... La seule solution est celle que tu envisages, stoquer la date dans la valeur du cookie lui-même.
Au passage (parce que les dates c'est parfois chiant en js) pour avoir ta date d'expiration (ajouter 3h) :
var dExpire = new Date();
dExpire.setHours(dExpire.getHours()+3);
En élargissant, as-tu envisagé de traiter ton besoin côté serveur plutôt qu'en javascript ? Si tu le peux, les Sessions me sembleraient une solution propre et bien mieux adaptée.