【问题标题】:Simple PHP Cookie简单的 PHP Cookie
【发布时间】:2014-06-25 08:30:33
【问题描述】:

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

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

【问题讨论】:

  • 您应该在发送输出之前调用setcookie();它在这里工作只是运气。

标签: php cookies setcookie


【解决方案1】:

来自PHP Docs..

在下一次加载页面之前,Cookie 不会变得可见 cookie 应该是可见的。测试 cookie 是否成功 设置,在 cookie 之前的下一个加载页面上检查 cookie 过期了。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多