我正在尝试使用Cookie,我正在做这个简单的例子,
<html>
<head>
<meta charset="UTF-8">
<title>Cookies</title>
</head>
<body>
<!-- Start of FORM -->
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
Username: <input type="text" name="username"><br>
<input type="submit" name="submit" value="Submit">
</form>
<!-- End of FORM -->
<hr>
<?php
if (isset($_POST['username'] )) {
setcookie('username', $_POST['username'], time() + 1000, '/');
if(isset($_COOKIE['username'])){
echo "Hello " . $_COOKIE['username'];
unset($_COOKIE['username']);
}
}
?>
</body>
它有效,但我必须单击两次提交按钮才能显示我的消息,为什么会这样?
答案 0 :(得分:4)
在下次加载页面之前,Cookie才会显示 cookie应该是可见的。测试cookie是否成功 设置,检查cookie之前的下一个加载页面上的cookie 到期。
因此,当您第二次单击该按钮时,实际负载已生效,您可以看到它( Cookie )。