php cookies没有设置?

时间:2013-07-04 12:14:35

标签: php cookies

<?php
if (!isset($_COOKIE['firsttime']))
{
setcookie("firsttime", "no", time()+1500); 
 ?>

 <div class="row-fluid">
        <div class="span4 center">
        </div>
            <div class="span4 center">
            <div style="">
                    <div class="alert alert-info">
                            <button type="button"     href="<?php setcookie("firsttime", "no", time()+1500); ?>" class="close" data-   dismiss="alert">&times;</button>
                            <strong>Welkom</strong> <br   />Dit is je eerste bezoek op wijktoernooi.nl ! <br /> Wil je je direct registreren? Klik hier!
                    </div>
                    </div>
            </div>
            <div class="span4 center">
        </div>

    </div>
<?php
}
 else
{
// do or show nada !
}
?>

根据上面的代码,如果没有设置cookie,则应设置cookie firsstime并显示警告框

但它没有....当我重新加载页面时,我仍然看到警告框,我在哪里犯了错误?

1 个答案:

答案 0 :(得分:2)

您无法在设置Cookie之前发送输出。您需要了解 HTTP 。 在尝试设置cookie之前,请执行此测试:var_dump(headers_sent());。 如果发送了标题,那你就错了。

href="<?php setcookie(...); ?>"是迄今为止PHP 最具创造性的用途。 PHP打印东西。它不会对HTML/DOM/JS事件做出反应。它需要输入并产生输出。就是这样。

我不能给你任何在这里工作的代码,因为你没有理解它的头部或尾部。所以找出 HTTP (客户端/浏览器和服务器/ php通信) cookies ,然后才会你能够解决这个问题并在将来做好。