0
我遇到問題,即同一用戶正在生成兩個會話文件。我開始將這些記錄在數據庫中,以便我可以看到發生了什麼。我很想知道這是否源於在課堂上設置課程,或者是否有一些編程失誤背後。爲同一用戶存儲多個會話的問題
session_id session_data
kfmj13vi5o538mvi57at8th0n2 useradd|s:10:"xx.xx.62.69";redirect|s:10:"/index.php";
3bb0fkisndf3u0o1l3195iclh2 UID|s:1:"1";USERNAME|s:9:"kalpaitch";
有時候(不總是)時,該類用戶登錄負責添加「UID」和「USERNAME」的會議似乎:下面是我的電腦都會話對方的一分鐘內產生以完全創建新會話(如上所述),因此該頁面不會將用戶註冊爲已經登錄。
這是別人寫的腳本,用以下路徑=> loginform.php要驗證的帖子。 PHP的調用下面的方法。
function validateUser($username,$password, $redirect){
$password=md5($password);
if(get_magic_quotes_gpc()){
$username = stripslashes($username);
$password = stripslashes($password);
}
$sql = "SELECT id,username,password FROM users WHERE username='" . mysql_real_escape_string($username) . "' AND password='" . mysql_real_escape_string($password) . "' AND status='1' and verified=1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
if ($row["id"]){
session_start();
$_SESSION["UID"] = $row["id"];
$_SESSION["USERNAME"]=$row["username"];
header("location: http://www.xxx.com".$redirect);
}else{
unset($_SESSION["UID"]);
unset($_SESSION["USERNAME"]);
$sql = "select id,username,password from user where username='" . mysql_real_escape_string($username) . "' and password='" . mysql_real_escape_string($password) . "' and status='1' and verified=0";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
if ($row["id"]){
$_SESSION['login'] = 'Verify your account by email';
header("location: http://www.xxx.com".$redirect);
}else{
$_SESSION['login'] = 'Incorrect username or password';
header("location: http://www.xxx.com".$redirect);
}
}
}