搜索

首页  >  问答  >  正文

一个 有关php中Cookie的问题 求大神

本人学渣学生党== 自学好多不会,想问问大神  一个问题 书中代码如下:

<?php

date_default_timezone_set("Etc/GMT-8");

if(!isset($_COOKIE["visittime"])){ //如果Cookie不存在

  setcookie("visittime",date("y-m-d H:i:s")); //设置一个Cookie变量

echo "first time to meet:".date("y-m-d H:i:s")."<br>"; //输出字符串

}else{ //如果Cookie存在

setcookie("visittime",date("y-m-d H:i:s"),time()+60); //设置带Cookie失效时间的变量 +++++++++++++++++

        echo "last time:".$_COOKIE["visittime"]; //输出上次访问网站的时间-------------------------

echo "<br>";          //输出回车符

}

echo "now: ".date("y-m-d H:i:s"); //输出当前的访问时间*********************


?>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

效果图为:

第一次加载:

O$Q[CK%[NM6]TKYD17YK_]X.png

第二次刷新:

C04I6~A0OPO1S(LRYV0~X$X.png

问题:我想问的是== 在创建了新的cookie文件后,重新执行一次此命令 为什么备注中有 ++++++++ 的那行中setcookie()中 时间改成了当前时间date("y-m-d H:i:s"),然后 备注中有 --------- 的那行 还可以输出上一次的时间 而不是当前时间。 然后 备注中有*************却输出的是当前时间没错啊== 怎么回事? 那--------------的那行到达咋回事啊 大神求救T T

奔跑吧 少年奔跑吧 少年2644 天前1141

全部回复(1)我来回复

  • 寻觅 beyond

    寻觅 beyond2017-10-12 23:21:37

    PHP 中文手册上是这样说的

    为同一个参数再次设置 Cookie 前,必须先把它删掉。      如果参数的值是空 string 或 FALSE,并且其他参数和上次调用 setcookie 仍旧一样,      则指定的名称会被远程客户端删除。

    希望解决了你的问题


    回复
    0
  • 奔跑吧 少年

    虽然理解起来有些困难,可能要仔细琢磨琢磨,但是谢谢大神指点٩( 'ω' )و

    奔跑吧 少年 · 2017-10-12 23:38:05
  • 取消回复