2010-07-24 4 views
1

J'ai trois codes qui me posent problème.Définir et récupérer des problèmes de cookie en PHP

Celui-ci définit le cookie

setcookie("verify", "$value", time()+3600); 

Celui-ci est sur une autre page, il est sûr que le cookie a la valeur correcte

if ($_COOKIE["verify"] != file("name.txt")) { 
header("location: notset.html"); 
} else { die; } 

Et celui-ci supprime le cookie

setcookie("verify", "", time()-3600); 

Le code pour écrire le cookie n'écrit pas réellement le cookie. Et la variable est définie, mais peu importe ce que le cookie ne sera pas défini. Ainsi, lorsque je saisis manuellement la valeur en écrivant "test" et en écrivant test à "name.txt" et que j'accède à la page avec l'instruction IF, cela m'amène à notset.html. Des idées sur pourquoi cela ne fonctionne pas?

Oh et le code cookie de suppression fonctionne lorsque j'entre le test dans cookie et name.txt. Donc, le code de suppression fonctionne, mais les deux premiers ne le font pas.

+0

Pourquoi ne pas simplement définir une date d'expiration définie lors de la suppression du cookie? – pastapockets

Répondre

6

Votre test échoue car $_COOKIE["verify"] est une chaîne mais file renvoie un tableau (tableau de lignes dans le fichier). Si vous souhaitez charger le contenu d'un fichier dans une chaîne, utilisez file_get_contents.