[英]PHP Cookie and browser refresh confusion
我在這里有這段代碼,當我將值更改為其他值時,我注意到了。 我必須刷新頁面一次而不是刷新兩次,以查看新值。
這與HTTP標頭和超級全局變量有關嗎? 或者為什么我必須刷新兩次才能看到新值,為什么不刷新一次? 我試過在其他線程上閱讀類似的問題,但至今仍不清楚為什么? 以及正在做什么。 有人可以給我一個清晰的解釋,謝謝。
<?php
$name = "test";
$value = "hello";
$expire = time() + (60*60*24*7);
setcookie($name, $value, $expire);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHP</title>
</head>
<body>
<?php
$test = isset($_COOKIE["test"]) ? $_COOKIE["test"] : "";
echo $test;
?>
</body>
因此,如果我將值更改為500,則必須刷新兩次以在頁面上看到新值。
答案是在這里https://stackoverflow.com/a/17085896/2243372 。
嘗試以編程方式刷新頁面。 例:
<?php
if (isset($_COOKIE['test'])) {
echo 'COOKIE = ', $_COOKIE['test'];
} else {
setcookie('test', 'my-cookie-value', strtotime('+1 day'));
if ( ! isset($_GET['setcookie'])) {
header('Refresh: 0; url=?setcookie=done');
} else {
echo 'Your browser does not accept cookies!';
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.