Php Cookies计数器

Php Cookies计数器,php,cookies,Php,Cookies,我想在柜台上买饼干。当我多次访问网站时,cookies给出了正确的值,但对于第一次访问,cookies总是告诉我cookies都没有设置。我是PHP新手,所以我不确定是否遗漏了什么。Cookie设置在html标记之前 setcookie("user", isset($_COOKIE["user"])? ++$_COOKIE["user"] : 1); setcookie("date", date("d/m/y h:i:s")); $count = $_COOKIE["user"]; -----

我想在柜台上买饼干。当我多次访问网站时,cookies给出了正确的值,但对于第一次访问,cookies总是告诉我cookies都没有设置。我是PHP新手,所以我不确定是否遗漏了什么。Cookie设置在html标记之前

setcookie("user", isset($_COOKIE["user"])? ++$_COOKIE["user"] : 1);
setcookie("date", date("d/m/y h:i:s"));
$count = $_COOKIE["user"];

---------------------------------
<body>

    <p><?php
        if( $count == 1)
            echo "Welcome! You're new here.";
        else
            echo "Hello, you have visited " .$_COOKIE["user"]. " times.";
            echo "<br/>";
            echo "Your last visit was ".$_COOKIE["date"];

    ?></p>

</body>

我不确定,但我现在所看到的是,其他的都是用错误的方式。 你可以写:

if (cond)
    do();
else
    doelse();
只有单行线是这样工作的。 改用:

setcookie函数将cookie放入servers http头中,该头随第一个请求一起发送。但是$\u COOKIE数组不会从setcookie函数内部获取这些值,而是从浏览器发送的请求头生成,这仅在浏览器从第一个请求获取COOKIE并在第二个请求时将其发送回后才会发生

你能做的是:

$count = isset($_COOKIE["user"])?$_COOKIE["user"]:1;

当您第二次访问页面以便定义cookie时,它是否打印:您好,您已经访问了1次?不,它打印您访问了2次,每次刷新后数量增加1谢谢您的评论让我明白了,但您的想法并没有100%解决问题。但我最终还是找到了答案。
$count = isset($_COOKIE["user"])?$_COOKIE["user"]:1;