取消设置cookie时出现意外行为

时间:2012-09-15 14:53:47

标签: php cookies setcookie

我在php中取消设置cookie后出现问题。这是我的代码

Controller.php这样

setcookie("alert",'String',time()+3600,'/');
header("Location: ../home.php");

home.php

if(!empty($_COOKIE['alert']) && $_COOKIE['alert'] != ''){

    malert($_COOKIE['alert']);

    $_COOKIE['alert'] = '';
    setcookie('alert', '', time()-1000);
    setcookie('alert', '', time()-1000, '/');           
print_r($_COOKIE);

   }

当主页加载函数malert有效时。但我希望它在页面再次刷新时跳过if条件。问题甚至是再刷新home.php后进入if 条件。我在页面刷新时遗漏了关于cookie的任何信息。?

print_r输出

Array ( [PHPSESSID] => xxx [alert] => String )
Array ( [PHPSESSID] => xxx [alert] => )

注意:当我在此文件夹中使用.htpassword时,我无法使用SESSION

2 个答案:

答案 0 :(得分:1)

你在print_r()之后调用setcookie()。输出内容后,您无法调用setcookie(),因为标题已经发送。

答案 1 :(得分:0)

试试setcookie('alert', '', 1);