IE删除SESSION信息

时间:2012-08-02 15:09:02

标签: php internet-explorer cookies

我是编程的初学者,我正在尝试通过PHP实现某种sessionID。因此,当指向下一页时 - 应用程序知道它是谁,依此类推。

问题是在IE中我可以登录一次 - 但是如果我然后返回登录屏幕并登录 - 没有显示任何内容并且cookie不会更新其新会话ID并且不会删除旧会话。

这是登录脚本,我对此很新,所以不要太苛刻:(

include '../serverside/connect.php';

$salt = "<salt>";
$user_name = $_GET['user_name'];
$user_password = $_GET['user_password'];
$query = 'select * from user where user_name = "' . $user_name . '" and user_md5 ="' .     md5($salt . $user_password . $salt) . '"';
$result = mysql_query($query, $conn) or die("e" . mysql_error());

if (mysql_num_rows($result) == 1) {
$row = mysql_fetch_array($result);
$user_id = $row['user_id'];
$session_id = md5($salt . uniqid() . $salt);

// Deleting old session if it exists
$query = 'delete from session where user_id = "' . $user_id . '"';
$result = mysql_query($query, $conn);

// Inserting new session
$query = "insert into session(user_id, session_id) VALUES(" . $user_id . ",'" .     $session_id . "')";
$result = mysql_query($query, $conn) or die("e" . mysql_error());

/**
 * Clearing old cookies
 */
 session_destroy();
/**
 * Starting the session with
 * session_id as indentfier in
 * table session
 */
session_start();
$_SESSION['session_id'] = $session_id;
echo "s";
} else {
echo "eSomething went - wrong check your password or username / enable cookies";
}

有谁知道为什么 - 你有什么指示我可以做些什么来改善我的代码:)?

mysql会执行查询并更新新的会话ID。这意味着IE具有旧会话,并且在下一阶段它将无法加载数据,因为旧会话不再存在。

干杯!

0 个答案:

没有答案