>  기사  >  백엔드 개발  >  一个cookie的有关问题,希望大神们帮小弟我一上,多谢,说一上错在哪里

一个cookie的有关问题,希望大神们帮小弟我一上,多谢,说一上错在哪里

WBOY
WBOY원래의
2016-06-13 13:19:28788검색

一个cookie的问题,希望大神们帮我一下,谢谢,说一下错在哪里?

PHP code
<!--

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\AppServ\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'];
}
<br><font color="#e78608">------解决方案--------------------</font><br>
在header之前有输出导致的,开启缓冲 ob_start(); <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.