当有人登录我的网站时,它会输出仅供该用户使用的信息,依此类推。但是有一个问题,因为它似乎无法识别不同的用户。如果我在网站上登录两个用户,第一个将成为第二个...这是我在每个页面开头的代码
?php
session_start();
require_once 'loginDetails.php';
$db_server = mysql_connect("$db_hostname", "$db_username",
"$db_password");
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db_database)
or die("Unable to select database: " . mysql_error());
if (isset($_SESSION['username']))
{
$user = $_SESSION['username'];
$query = mysql_query("SELECT * FROM cssh_students_table WHERE StudentUserName = '$user'");
$query1 = mysql_fetch_row($query);
$course = $query1[10];
$year = $query1[6];
$email = $query1[4];
$loggedin = TRUE;
}
else
{
$loggedin = FALSE;
}
if ($loggedin == FALSE)
{
session_unset();
session_destroy();
header('Location: ../index.html');
}
?>
答案 0 :(得分:0)
session_destroy()
无法保证会终止您的会话Cookie。您的问题可能是因为您的原始会话cookie仍然存在。
其他(不相关)
执行SELECT *
然后使用整数索引访问结果是一种不好的做法,最终会在数据库结构发生变化时导致问题。 SELECT
您需要的项目,或使用mysql_fetch_assoc
并按名称访问这些值。
答案 1 :(得分:0)
可以有很多解决方案。
对我们来说,我们需要在开发中做这样的事情。对于我们要打开的每个用户,我们使用匿名浏览器窗口。另一种解决方案可能是为您要登录的每个用户使用不同的域名(使用dns通配符)。