if($_COOKIE['dates']==''){
setcookie("dates", date("Y-m-d H:i:s"), time()+604800);
}else{
echo '<br />'.$_COOKIE['dates'];
}
设置了这样一个cookie,为什么PHP脚本第一次在IE里打开后获取一个日期,然后同样的脚本第二次在FIREFOX打开,还是获取IE里打开的那个日期值?setcookie到底是服务器cookie,还是浏览器cookie?我想设置浏览器cookie,即不同的浏览器打开页面后记录不同的COOKIE值,过期时间为一周。
setcookie设置的是客户端的cookie。if($_COOKIE['dates']==''){ //这里判断当dates为空时才设置cookie,所以第一次打开时被赋值
setcookie("dates", date("Y-m-d H:i:s"), time()+604800);
}else{ //因为第一次已经有值了,所以以后再打开都是这个值,直到dates的生命周期结束
echo '<br />'.$_COOKIE['dates'];
}
另外建议这样写if(!isset($_COOKIE['dates'])){ //使用isset判断变量是否存在
setcookie("dates", date("Y-m-d H:i:s"), time()+604800);
}else{
echo '<br />'.$_COOKIE['dates'];
}
不会出现你说的情况,不知道你怎么测试的
2.session是保存到服务器端的。
一般情况优先考虑使用session(好处的话,自己查看一下其它资料)我也是刚刚学习PHP的,呵呵!!!
不知道那位大侠可以推荐几个PHP群给我的
或者加一下我QQ的:610540622