我的'登录'代码
$query = mysql_query("SELECT * FROM trade2_users WHERE email = '".mysql_real_escape_string($_POST['email'])."' AND pass = '".mysql_real_escape_string($_POST['password'])."'");
if(mysql_num_rows($query) > 0){
$row = mysql_fetch_assoc($query);
session_start();
$_SESSION['name'] = $row['name'];
header("Location: index.php");
}
我的'退出'代码
session_start();
session_destroy();
header("Location: log_in.php");
无论出于何种原因,我的注销代码都无效(实际上并没有破坏会话)。在注销脚本运行后,$ _SESSION ['name']仍然设置。
答案 0 :(得分:2)
尝试使用:
session_unset();
header("Location: log_in.php");
答案 1 :(得分:1)
同一页面上的为了完全终止会话,要将用户注销,还必须取消设置会话ID。如果使用cookie来传播会话ID(默认行为),则必须删除会话cookie。 setcookie()可以用于此。
Example #1会告诉您该做什么。
答案 2 :(得分:0)
我通常会覆盖值而不是尝试删除会话。
foreach($_SESSION as $key => $value) {
unset($_SESSION[$key]);
}