<?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">×</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并显示警告框
但它没有....当我重新加载页面时,我仍然看到警告框,我在哪里犯了错误?
答案 0 :(得分:2)
您无法在设置Cookie之前发送输出。您需要了解 HTTP 。
在尝试设置cookie之前,请执行此测试:var_dump(headers_sent());
。
如果发送了标题,那你就错了。
href="<?php setcookie(...); ?>"
是迄今为止PHP
最具创造性的用途。 PHP打印东西。它不会对HTML/DOM/JS
事件做出反应。它需要输入并产生输出。就是这样。
我不能给你任何在这里工作的代码,因为你没有理解它的头部或尾部。所以找出 HTTP
(客户端/浏览器和服务器/ php通信), cookies
,然后才会你能够解决这个问题并在将来做好。