我正在用php&创建一个动态网站MySQL的。我有2个文件夹,一个是用户,另一个是管理员。在用户文件夹中我输入了user_logout.php页面,在admin文件夹中我输入了admin_logout.php。因此问题是当我从用户面板退出时,它已成功从用户面板但退出,同时如果我已登录,它也会从管理面板退出。
User_logout.php页面
<?php
include("db.php");
include("include/session.php");
$tm=date("Y-m-d H:i:s");
$q=mysql_query("UPDATE plus_user_login SET status='OFF', tm_out='$tm' WHERE
id='$_SESSION[id]'");
echo mysql_error();
$see = $_SESSION['uname'];
session_unset($see);
session_destroy();
echo "<h1><center>You have been successfully Log Out</h1></center><br/>";
?>
Admin_logout.php页面
<?php
include("include/session.php");
include("db.php");
$q=mysql_query("update plus_login set status='OFF' where id='$_SESSION[id]'");
session_unset($_SESSION['uname_ad']);
session_destroy();
echo "<br/>";
echo "<h1>You have been successfully Log Out</h1><br/>";
?>
有关此问题的任何帮助? 非常感谢。
答案 0 :(得分:0)
问题是session_unset()命令和session_destroy()命令都清除了控制两个控制面板的变量。
在您的管理员注销中,替换session_unset($ _ SESSION ['uname_ad']);用:
$ _ SESSION ['uname_ad'] ='';
在您的用户注销中,替换session_unset($ _ SESSION [$ see]);用:
$ _ SESSION ['uname'] ='';
试一试。
答案 1 :(得分:0)
Session_destroy()
删除该代码可以解决您的问题。
虽然也确保您在登录时没有混淆会话索引。
编辑:
代码中的$ _SESSION ['id']是什么?我不知道它与$ _SESSION ['uname']和$ _SESSION ['uname_ad']有什么关系?
如果要从数据库中检索状态,请尝试在相应的更新查询中使用$ _SESSION ['uname']和$ _SESSION ['uname_ad']更改$ _SESSION ['id']。
另请说明,如何检查登录状态。针对数据库还是仅基于会话数据?