0

i am creating a website with login and logout and registration but an error appear every time i want to logout how to fix it i think the eroor is in the session this error make me crazy i did a lot of search about fixing the problem but i did not get any solution that help me.

logout.php

<?php
session_start();

session_destroy();

if(isset($_COOKIE['id_cookie'])){

setcookie("id_cookie", "", time()-50000,"/");

setcookie("pass_cookie", "", time()-50000,"/");

}

if(isset($_SESSION['username'])){ 
echo("we could not log out try again!");
exit();
}else{
 header("Location: home.php");

}

?>
4

3 回答 3

0
<?php
session_start();
session_destroy();
if(isset($_COOKIE['id_cookie'])){
  setcookie("id_cookie", "", time()-50000,"/");
  setcookie("pass_cookie", "", time()-50000,"/");
}

header("Location: home.php");
exit();
?>
于 2013-02-24T01:55:16.890 回答
0

session_destroy();销毁所有会话,所以我没有按照您的 If 语句的点来检查用户名会话?

其次,您实际上不需要用于回显的括号:

echo("we could not log out try again!"); exit();

可以写成:

echo "we could not log out try again!"; exit; 
于 2013-02-24T01:21:05.127 回答
0

不确定你的错误,但阅读session_destroy会帮助你。

我的猜测是错误是在检查时if(isset($_SESSION['username'])){,根据手册:

session_destroy() 销毁与当前会话关联的所有数据。它不会取消设置与会话关联的任何全局变量,也不会取消设置会话 cookie。要再次使用会话变量,必须调用 session_start()。

您永远不会再次启动会话,因此您不能使用会话变量。

此外,对于注销用户的进一步帮助,同一页面中的以下内容将有所帮助:

为了完全终止会话,例如注销用户,还必须取消设置会话 ID。如果使用 cookie 传播会话 id(默认行为),则必须删除会话 cookie。setcookie() 可以用于此。

虽然它不在问题的范围内 - 它会帮助您制作成功的注销脚本。

于 2013-02-24T01:13:03.960 回答