Heim >Backend-Entwicklung >PHP-Tutorial > 一个cookie的有关问题,希望大神们帮小弟我一上,多谢,说一上错在哪里

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

WBOY
WBOYOriginal
2016-06-13 13:19:28805Durchsuche

一个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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn