简单的PHP Cookie

时间:2014-05-08 05:31:54

标签: php cookies setcookie

我正在尝试使用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>

它有效,但我必须单击两次提交按钮才能显示我的消息,为什么会这样?

1 个答案:

答案 0 :(得分:4)

来自PHP Docs..

  

在下次加载页面之前,Cookie才会显示   cookie应该是可见的。测试cookie是否成功   设置,检查cookie之前的下一个加载页面上的cookie   到期。

因此,当您第二次单击该按钮时,实际负载已生效,您可以看到它( Cookie )。