我是php的新手,也是本网站的新手。
我已经制作了登录代码。当人们登录,然后单击其他链接时,他们将被注销。此外,有时当人们登录时,它会显示其他人的姓名。但是,清除缓存并清理浏览器的历史记录,一切都很好。有什么问题会导致这种情况?
<?php
ob_start();
ob_start('gz_handler');
session_start();
require_once("loginconfig.php");
if (isset($_POST['username']) && strlen($_POST['username']) >= 3 && isset($_POST['password']) && strlen($_POST['password']) >= 3)
{
$connect = mysql_connect($host, $user, $pass);
mysql_select_db($database, $connect);
$usernameTest = $_POST['username'];
$passwordTest = $_POST['password'];
$usernameTest = htmlentities($usernameTest, ENT_QUOTES);
$passwordTest = htmlentities($passwordTest, ENT_QUOTES);
//$passwordTest = md5($passwordTest);
$query = mysql_query("SELECT $username, $password, $name, $accessLevel FROM $table WHERE $username='$usernameTest' AND $password='$passwordTest'", $connect);
$affectedRows = mysql_num_rows($query);
if($affectedRows === 1)
{
$rows = mysql_fetch_array($query);
$_SESSION['username'] = $rows[$username];
$_SESSION['name'] = $rows[$name];
$_SESSION['accessLevel'] = $rows[$accessLevel];
$_SESSION['auth'] = strlen($rows[$username].$rows[$password]);
$query = mysql_query("UPDATE $table SET LastLogin=NOW() WHERE $username='$usernameTest' AND $password='$passwordTest'", $connect);
mysql_close($connect);
header("Location: $loggedIn");
ob_flush();
}
else
{
header("Location: $homePage?e=2");
ob_flush();
}
}
else
{
header("Location: $homePage?e=1");
ob_flush();
}
?>