我做了一个简单的登录和注册系统,我使用会话向用户显示用户名,只是为了练习。
在注册页面中一切正常,我可以注册用户,但是当我尝试登录时,它显示一个空白页面,而不是它应该做的,它显示'登录成功'并将我重定向到'索引.php',设置我的 $_SESSION 并在'index.php'中我使用会话来显示有关用户的信息。问题开始于我在表单中插入正确信息后没有登录。这段代码在我以前的托管服务上运行良好,但它有他的问题。
当我的朋友可以登录我的帐户但我无法登录时,这会变得更奇怪。
所以这就是“登录成功”部分:
else if ($login === true)
{
include 'include/aside.php';
include 'include/footer.php';
$id = id_from_username($username);
$_SESSION['id'] = $id;
redirect('index.php','2'); // a replacement for header()
echo 'Login Success.';
exit();
}
这是检查用户是否已登录:
if(isset($_SESSION['id']))
{
return true;
}
else
{
return false;
}
这是登录查询:
function login($username, $password) {
$username = mysql_real_escape_string($username);
$password = md5($password);
$loginquery = mysql_query("SELECT id FROM `users` WHERE `username` = '$username' AND `password` = '$password' LIMIT 1");
return (mysql_num_rows($loginquery) == 1);}
是的,我使用 session_start(); 在每一页的开头。我用 Mozilla firefox、Google chrome 和 IE6 试过这个,但都没有用。如果您需要更多信息,请告诉我。
那为什么我不能登录?
非常感谢。
(哦,对不起我的英语)