2014-01-10 27 views

回答

0

$cookie = ++$_COOKIE['count'];只被調用一次。如果$_COOKIE[count]有一個數值,$cookie將這個值存儲加1

此外,下面的是並不完全正確:

echo "Welcome guest!<br>"; 
setcookie("count", 1, time()+3600); 

不能將頭之前調用echo。我建議你改變它:

setcookie("count", 1, time()+3600); 
echo "Welcome guest!<br>"; 
+0

好吧,讓我更簡單:-) 我想統計多少時間用戶刷新頁面 只使用cookie,我可以這樣做嗎? – user3104044

+0

啊,我現在明白你的問題了。它看起來像賈斯爾正確回答。 –

-3

遞增您將++字符串後,之前不是。

+0

'預increment'和' - increment'後都完全有效的 - http://prototype.php.net/manual/en/language.operators.increment.php –

+0

我從未見過之前的增量。在這種情況下似乎很沒用。 – Mickey

0

你不能以這種方式更新cookie。但是你可以覆蓋它。

See setcookie for more info.

如果設置一個cookie,它不會檢索,直到下一個請求,因此數據將不會出現在$ _COOKIE。

因此,設置cookie並訪問它不能在同一個實例中。設置後需要重定向或刷新。 只需使用setcookie()即可遞增。

1

您不能通過增加$ _COOKIE [xxx]來更改cookie值,您必須使用setcookie()函數。這將工作:

<?php 
$cookie = isset($_COOKIE["count"]) ? $_COOKIE["count"] : 0; 
setcookie('count', $cookie + 1, time()+3600); 
ECHO $cookie;