PHP新手求助关于COOKIE的问题!

dwzjs 2010-08-22 12:08:53
初学PHP,做一个小程序,想判断COOKIE值是否存在,如果不存在就写入COOKIE,然后输出.程序代码:
<?php
/*
* Created on 2010-8-13
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
if (empty($_COOKIE['Fromas'])){
echo "COOKIE不存在!";

}
else{
echo $_COOKIE['Formas'];
}
echo "<P>";

print_r($_COOKIE);

if (empty($_COOKIE['AAA'])){
setcookie("AAA","12345",3600);
}
echo $_COOKIE['AAA']."<P>";

print_r($_COOKIE);
?>
但执行结果却是

也就是说COOKIE值为AAA并不存在,但也没有写入.这是为什么呢?错在哪里?
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hht378821342 2010-08-23
  • 打赏
  • 举报
回复
楼上都是正解...赞一个...
CunningBoy 2010-08-23
  • 打赏
  • 举报
回复
!$_COOKIE['AAA']
表示如果Cookie中的AAA值不存在或者值为false,则返回true.
dwzjs 2010-08-23
  • 打赏
  • 举报
回复
setcookie("AAA","12345",3600);这一句是错了,应该是
setcookie("AAA","12345",time()+3600);
但判断COOKIE值是否存在时,用isset和empty都会出现明明COOKIE不存在,但没有写入COOKIE的现象,后来这个语句却成功了
if (!$_COOKIE['AAA']){
setcookie("AAA","12345",time()+3600);
}
这是为什么?
amani11 2010-08-22
  • 打赏
  • 举报
回复

setcookie("AAA","12345",3600);//3600的作用就是删除cookie

//如果你想让cookie有效期1个小时,请用 time()+3600
xuzuning 2010-08-22
  • 打赏
  • 举报
回复
请刷新一下页面
纳兰小羽 2010-08-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 amani11 的回复:]
PHP code

setcookie("AAA","12345",3600);//3600的作用就是删除cookie

//如果你想让cookie有效期1个小时,请用 time()+3600
[/Quote]

还有判断的时候最好用isset 而不是empty

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧