PHP session 未在登录页面中注册

标签 php session authentication

我做了一个简单的登录注册系统,用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/

相关文章:

php - 如何在 PHP 和 JavaScript 中使用输入框 ID?

c++ - 卡萨布兰卡中的 HTTP 身份验证

php - 列出对数据库的所有查询

php - HTTP 转义字符、PHP、CALDAV

php - 图像上传到数据库中未保存在目录中

Python google appengine session 使用 webapp2_extras 混淆

asp.net - 我最早什么时候可以访问 global.asax 中的一些 session 数据?

django - 禁用Django中的 session 创建

javascript - Angular JS loginController 与 loginService 绑定(bind)

authentication - 如何使用 Nuxtjs 实现 Auth0 服务器端?