web-dev-qa-db-fra.com

PHP setcookie pour 1 an ne fonctionnera pas

J'essaie de définir un cookie PHP pour qu'il expire 1 an après la connexion de l'utilisateur, et je le fais comme suit:

setcookie("myCookie",'exampleUserName',(365 * 24 * 60) ,'/');

Le problème est que, lorsque je visualise le cookie à l'aide de la console sous Chrome ou Firefox, il affiche Expires Sun, 05, 2014 sous Chrome et Expires = Session sous Firefox.

Tout autre site tel que Google ou les cookies stackoverflows affichent la date d'expiration correcte.

Comment puis-je régler ce droit?

12
jmenezes

Fait comme ça...

setcookie("myCookie",'exampleUserName',time()+31556926 ,'/');// where 31556926 is total seconds for a year.
24
Shankar Damodaran
setcookie($cookie_name, $cookie_value, strtotime("+1 year"));
33
Shawn Rebelo

Le troisième paramètre est le temps dans le futur qui signifie time() + time in seconds. Votre 365 * 24 * 60 signifie 1971 (1970 + 1), c'est du passé. Aucun cookie ne sera utilisé dans le passé - les gens définissent le cookie au temps passé pour supprimer le cookie. Faites exactement comme Shankar.

2
Jerry Pham

Essaye ça:

<?php
       setcookie("TestName", "Test Value", time()+3600 * 24 * 365);
?>

>> Here 'TestName' is name of cookie.
>> "Test Value" is value to store.
>> time()+3600 * 24 * 365 - will set cookie time till 1 year.

Merci!

2
Anand Solanki

essaye celui-là

setcookie($cookie_name, $cookie_value, time() + ( 365 * 24 * 60 * 60));
1
Marverick