一个cookie的问题,希望大神们帮我一下,谢谢,说一下错在哪里?
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php if(empty($_COOKIE['lastVisit'])){ //如果为空为第一次登录 echo "您好,您是第一次登录!"; //记录下首次登录时间 setcookie("lastVisit",date('Y-m-d H:i:s'),time()+30*24*3600); }else{ echo "您上一次访问时间是".$_COOKIE['lastVisit']; //更新为这一次登录的时间 setcookie("lastVisit",date('Y-m-d H:i:s'),time()+30*24*3600); }?>
报错:
您好,您是第一次登录!
Warning: Cannot modify header information – headers already sent by (output started at D:\LAMP\AppS来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码erv\www\cookie\lastVisit.php:4) in D:\LAMP\AppServ\www\cookie\lastVisit.php on line 6
——解决方案——————–
这么改一下代码…另外如果是utf-8 编码文档注意不要有B头
- PHP code
$first = FALSE;if (empty($_COOKIE['lastVisit'])) { $first = TRUE; setcookie("lastVisit", date('Y-m-d H:i:s'), time() + 30 * 24 * 3600);} else { $first = FALSE; setcookie("lastVisit", date('Y-m-d H:i:s'), time() + 30 * 24 * 3600);}if ($first) { echo "您好,您是第一次登录!";} else { echo "您上一次访问时间是" . $_COOKIE['lastVisit'];}
------解决方案--------------------
在header之前有输出导致的,开启缓冲 ob_start();