我做了一个简单的登录注册系统,用session向用户显示用户名,仅供练习。
在注册页面上一切正常,我可以注册用户,但是当我尝试登录时,它显示一个空白页面,而不是它应该做的,显示“登录成功”并将我重定向到“索引” .php',设置我的 $_SESSION 并在 'index.php' 中使用 session 来显示有关用户的信息。
问题始于我在表单中插入正确信息后没有登录。这段代码在我以前的托管服务上运行良好,但也有他的问题。
当我的 friend 可以登录我的帐户但我无法登录时,这会变得很奇怪。
所以这是“登录成功”部分的位置:
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 试过这个,但都没有用。 如果您需要更多信息,请告诉我。
为什么我不能登录?
非常感谢。
(哦,请原谅我的英语)
最佳答案
尝试用 echo "success";
替换 include()
语句。这将让您知道故障是否在这些文件之一中,或者可能与文件路径/权限有关。
关于PHP session 未在登录页面中注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920151/