PHP使用cookie时遇到的坑

Posted 寻觅beyond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP使用cookie时遇到的坑相关的知识,希望对你有一定的参考价值。

先看这么一段代码

 

第一次运行该程序的结果如下图:

 

然后我刷新了一次,运行结果如下图

你如果不细心,一定没发现,第二次运行的last time的值,正是第一次运行时保存的值。

先看代码,如果$_COOKIE[\'visititme\']没有赋值,就输出first meet 。。。和now

但是第二次运行的时候,$_COOKIE[\'visittime\']已经被赋过值了,应该执行if(){   }  else {  }的else部分,也就是重新对visittime赋值,然后输出新赋的值和now,但是结果并没有和我预想的一样,重新对visittime赋值失败了,其依旧保存的是旧值,我翻手册,手册上是这样说的:

  • 为同一个参数再次设置 Cookie 前,必须先把它删掉。 如果参数的值是空 string 或 FALSE,并且其他参数和上次调用 setcookie 仍旧一样, 则指定的名称会被远程客户端删除。 内部的实现是:将值设置成 \'deleted\',并且过期时间是一年前。    

现在才知道为什么会这样了,真是一个坑。。。。。

 

但是,之后再刷新页面,就不会出现上面这个问题了,上一次的now会变为这一次的last time

以上是关于PHP使用cookie时遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

cookie与session(调试某项目遇到的坑)

如何用ffmpeg截取视频片段&截取时间不准确的坑

php PDO遇到的坑

android开发中,webview常用于显示网页或h5页面,一个遇到跨域方面的坑。

我在elasticsearch遇到的坑

php5.5.32编译安装imagick-2.3.0php扩展插件遇到的坑