【问题标题】:Check if a PHP cookie exists not worked检查是否存在 PHP cookie 无效
【发布时间】:2020-11-11 00:29:05
【问题描述】:

我正在使用此代码在 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'])) 不起作用。

其实问题是第一次点击什么都没有,但是第二次点击就变了

哪里错了?

感谢您的帮助

【问题讨论】:

    标签: php wordpress function cookies isset


    【解决方案1】:

    强制 $_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>
    

    【讨论】:

      猜你喜欢
      • 2012-10-15
      • 2012-05-17
      • 2013-04-22
      • 1970-01-01
      • 2011-08-23
      • 2014-10-15
      • 1970-01-01
      • 2016-04-18
      • 2012-03-10
      相关资源
      最近更新 更多