2010-07-24 28 views
1

我有三段代碼給我帶來麻煩。在PHP中設置並檢索cookie問題

這一個設置cookie

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

這一個是在不同的頁面,它確保cookie擁有正確的價值

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

而這其中刪除了Cookie

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

編寫cookie的代碼實際上並不寫入cookie。並且該變量已設置,但不管cookie不設置什麼。所以當我通過寫入「test」手動輸入值並將測試寫入「name.txt」並使用IF語句進入頁面時,它會帶我到notset.html。任何想法,爲什麼這不工作?

哦,刪除Cookie代碼在將測試輸入到cookie和name.txt中時起作用。所以刪除代碼的作品,但前兩個不。

+0

爲什麼不在過去設置過期時設置刪除cookie的過期日期? – pastapockets 2010-07-24 16:08:05

回答

6

您的測試失敗,因爲$_COOKIE["verify"]是一個字符串,但file正在返回一個數組(文件中的行數組)。如果要將文件的內容加載到字符串中,請使用file_get_contents