有人可以請問怎麼這個奇怪的結果,當嘗試增加一個PHP的cookie
cookie停在2?
<?php
if (isset($_COOKIE["count"]))
{
$cookie = ++$_COOKIE['count'];
}
else {
echo "Welcome guest!<br>";
setcookie("count", 1, time()+3600);
}
ECHO $cookie;
?>
謝謝大家
有人可以請問怎麼這個奇怪的結果,當嘗試增加一個PHP的cookie
cookie停在2?
<?php
if (isset($_COOKIE["count"]))
{
$cookie = ++$_COOKIE['count'];
}
else {
echo "Welcome guest!<br>";
setcookie("count", 1, time()+3600);
}
ECHO $cookie;
?>
謝謝大家
$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>";
遞增您將++字符串後,之前不是。
'預increment'和' - increment'後都完全有效的 - http://prototype.php.net/manual/en/language.operators.increment.php –
我從未見過之前的增量。在這種情況下似乎很沒用。 – Mickey
你不能以這種方式更新cookie。但是你可以覆蓋它。
如果設置一個cookie,它不會檢索,直到下一個請求,因此數據將不會出現在$ _COOKIE。
因此,設置cookie並訪問它不能在同一個實例中。設置後需要重定向或刷新。 只需使用setcookie()
即可遞增。
您不能通過增加$ _COOKIE [xxx]來更改cookie值,您必須使用setcookie()
函數。這將工作:
<?php
$cookie = isset($_COOKIE["count"]) ? $_COOKIE["count"] : 0;
setcookie('count', $cookie + 1, time()+3600);
ECHO $cookie;
好吧,讓我更簡單:-) 我想統計多少時間用戶刷新頁面 只使用cookie,我可以這樣做嗎? – user3104044
啊,我現在明白你的問題了。它看起來像賈斯爾正確回答。 –