我有2个单独的PHP文件,一个用于创建会话和cookie,另一个用于销毁它们。我尝试通过在浏览器中手动输入他们的URL来一个接一个地加载它似乎不起作用。 (如果你担心的话,我在cookie中尝试了'time()'属性。)
test.php的
<?php
session_start();
echo '1s'.$_SESSION['uname'] ;
echo '1c'.$_COOKIE['usrid'] ;
$_SESSION["uname"] = "green";
setcookie("usrid", 'blue', strtotime( '+30 days' ), "/");
echo '2s'.$_SESSION['uname'] ;
echo '2c'.$_COOKIE['usrid'] ;
?>
logout.php
<?php
session_start();
$_SESSION = array();
session_destroy();
setcookie("usrid", '', strtotime( '-5 days' ), "/");
?>
我已经尝试过一次又一次地重新加载页面,但它仍然不起作用。
答案 0 :(得分:0)
它对我来说很好。
如果您想查看,请创建3个文件
<?php
session_start();
$_SESSION["uname"] = "green";
setcookie("usrid", 'blue', strtotime( '+30 days' ), "/");
echo '2s'.$_SESSION['uname'] ;
echo "<br>";
echo '2c'.$_COOKIE['usrid'] ;
<?php
session_start();
$_SESSION["uname"] = "green";
setcookie("usrid", 'blue', strtotime( '+30 days' ), "/");
echo '2s'.$_SESSION['uname'] ;
echo "<br>";
echo '2c'.$_COOKIE['usrid'] ;
在此文件中,执行删除会话和cookie的代码
在最后一个文件中添加数据检索代码
的print_r($ _ SESSION); 的print_r($ _ COOKIE);
答案 1 :(得分:0)
在setcookie之前做一个回声...它根本不应该制作那个cookie,你应该得到一个关于已经输出的标题的php警告。