<?php
if(!isset($_COOKIE["visittime"])){
setcookie("visittime",date("y-m-d H:m:s"));
echo "欢迎来到本站<br>";
}
else{
setcookie("visittime",date("y-m-d H:m:s"),time()+120);
echo "您上次来到的时间:".$_COOKIE["visittime"];
echo "<br>";
}
echo "现在的时间:".date("y-m-d H:m:s");
?>
若cookie失效或不存在 就进入if块
若cookie存在就进入else块
效果没错,但不明白
在else块里
先执行了
setcookie("visittime",date("y-m-d H:m:s"),time()+120);
这个时候cookie的值不就被当前时间替换一次了吗?
为什么下一句$_COOKIE["visittime"],显示的还是上一次停留在页面的时间
不是应该先echo出$_COOKIE["visittime"]的时间
然后再setcookie的吗?
但代码这样写也是正确的0.0另外每次执行
setcookie("visittime",date("y-m-d H:m:s"),time()+120);
时候,是不是让每次访问页面后
cookie又获得了2分钟的有效期?
//不存在就设置cookie,第一次访问。
if(!isset($_COOKIE["visittime"])){
setcookie("visittime",date("y-m-d H:m:s"));
echo "欢迎来到本站<br>";
}
else{
//每活动一次,就重置访问时间,有效期2分钟。
setcookie("visittime",date("y-m-d H:m:s"),time()+120);
echo "您上次来到的时间:".$_COOKIE["visittime"];
echo "<br>";
}
//输出的当前时间
echo "现在的时间:".date("y-m-d H:m:s");
?>
本次 setcookie 的结果要到下次进入时才能得到是不是让每次访问页面后cookie又获得了2分钟的有效期?
是的
这句话的意思,是将这个cookie植入浏览器,具体其实就是将这个cookie放在返回包的header中[/color[color=#FF0000]],仅此而已这句话并没有改变$_Cookie的值
$_cookie的值,是从前台的header中得到的,