Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookie的php-empty()函数不起作用_Php_Cookies - Fatal编程技术网

Cookie的php-empty()函数不起作用

Cookie的php-empty()函数不起作用,php,cookies,Php,Cookies,我想显示一个弹出消息时,用户是第一次来我的网站。问题是,当我刷新页面时,弹出窗口总是返回。我是这样做的: 如果一个用户出现在网站上,我有一个PHP函数来检查他是否有一个名为“first\u time”的cookie集 <?php if (empty($_COOKIE["first_time"])) { echo 'yes'; } else { echo 'no'; } 当用户单击关闭弹出窗口时,cookie是这样设置的: function remove_popup(){ docu

我想显示一个弹出消息时,用户是第一次来我的网站。问题是,当我刷新页面时,弹出窗口总是返回。我是这样做的:

如果一个用户出现在网站上,我有一个PHP函数来检查他是否有一个名为
“first\u time”
的cookie集

<?php if (empty($_COOKIE["first_time"])) {
 echo 'yes';
} else {
 echo 'no';
}
当用户单击关闭弹出窗口时,cookie是这样设置的:

function remove_popup(){
  document.cookie = 'first_time=no; expires=Sun, 28 Feb 2030 00:00:00 UTC';
}

empty函数检查变量是否为null、空或未定义。在您的例子中,您说实际上有一个cookie集具有该名称和值“no”。因此,您的cookie实际上不是空的,因为它包含一个包含两个字符的字符串:“n”和“o”。

可能是您没有向我们显示的代码有问题。 我做了这个简单的测试
.php
文件


document.cookie='first_time=no;expires=太阳,2030年2月28日00:00:00 UTC';
当我第一次访问它时,我会看到
第一次
,但在刷新页面后,我会再次看到
你好


仔细检查您的代码。

首先,检查脚本中实际包含的内容,
var\u dump($\u COOKIE)并显示设置它的位置/时间,以及使用什么参数设置cookie?是的,因为它不是空的,如果我是对的,php条件应该回显“否”
isset()
这是一个更好的选项。isset()始终发送false给我,所以这是相同的问题。
function remove_popup(){
  document.cookie = 'first_time=no; expires=Sun, 28 Feb 2030 00:00:00 UTC';
}