2012-04-23 67 views
-1

也許有更好的方法來使用cookie。但我想設置在我的PHP的東西告訴用戶一個錯誤,但只有它一次,如果他們刷新頁面,我不希望它那裏了。PHP cookie只設置1秒?

$time = (1000); 
setcookie("msgtype", $type, time() + ($time), '/'); 
setcookie("msg", $message, time() + ($time), '/'); 
print_r($_COOKIE); 

所以,出於某種原因,如果我輸出的$ _COOKIE後直接它仍然不會顯示這個cookie。

任何想法?

回答

1

相反,示出了誤差清除該cookie,而不是將其設置爲1秒,以便當它刷新下一次&檢查該cookie也不會是當在那裏,所以不會顯示任何錯誤。

Or a better option would be using sessions.

+0

這是真的....我的邏輯似乎有瑕疵 – 2012-04-23 23:23:19

+0

是的,當使用會話設置到無限(大值)的過期時間,並在任務結束時銷燬cookie。 – gopi1410 2012-04-23 23:26:05

+0

感謝您的幫助:) – 2012-04-23 23:31:10

1

你不需要爲此使用cookies,使用SESSION聽起來很合理。

$_SESSION['error'] = 'soem message'; 
//Use it when you need and simply remove it afterwards 
echo $_SESSION['error']; 
unset($_SESSION['error']); 
+0

你們,我想這次。我原來的版本是1,1毫秒,因爲它會在同一個腳本中處理。但爲了解決問題,我把它放到了1000 – 2012-04-23 23:20:50

+0

@JamieHutber,請參閱更新 – Starx 2012-04-23 23:22:07

+0

非常感謝,grr浪費時間:p剛剛在頁面上添加了未設置的內容,而不是試圖巧妙地做到這一點。 – 2012-04-23 23:30:36

0

在你,我們將使用會話組

例如:

session_start() 
$_SESSION['error'] = 1; 

時,你會顯示錯誤使用:)

unset($_SESSION['error']; 

$_SESSION['error'] = 0; 

這將取決於使用:)