检查 PHP cookie 是否存在 无效

Check if a PHP cookie exists not worked

我正在使用此代码在 Wordpress

中设置 cookie

functions.php

function wp_test_req($post_id) { 
    if(isset($_POST['submits'])) {
        setcookie( 'mycookie', 'value', time()+ 36, '/');
    }
} 
add_action('init', 'wp_test_req');

HTML

然后使用此代码查看 cookie 是否存在

<form action="" method="post">
  <?php 
    if (!isset($_COOKIE['mycookie']))
    { echo '<input type="submit" value="Up+1" id="submit" name="submits">';}
    else { echo 'NotSet';}
  ?>
</form>

问题是 if (!isset($_COOKIE['mycookie'])) 不工作。

其实问题是第一次点击没有任何反应,第二次点击却发生了变化

哪里错了?

感谢您的帮助

强制 $_COOKIE['mycookie'] 立即生效

<?php
if (!empty($_POST['submits'])) {
    setcookie('mycookie', 'value', time()+ 36);
    $_COOKIE['mycookie'] = 'value'; // <----
}
?>

<form action="" method="post">
  <?php
    if (empty($_COOKIE['mycookie'])) {
        echo '<input type="submit" value="Up+1" id="submit" name="submits">';
    } else {
        echo 'NotSet';
    }
  ?>
</form>