PHP 会话未在登录页面中注册


PHP session not registered in a login page

我做了一个简单的登录和注册系统,我使用会话向用户显示用户名,只是为了练习。
这一切都在注册页面中运行良好,我可以注册用户,但是当我尝试登录时,它会显示一个空白页面,而不是它应该做什么,显示"登录成功"并将我重定向到"索引.php",设置我的 $_SESSION 并在"索引.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尝试过这个,但它们都不起作用。如果您需要更多信息,请告诉我。

那么为什么我不能登录呢?

多谢。

(哦,请原谅我的英语)

尝试将include()语句替换为 echo "success"; 。这将使您知道失败是否在其中一个文件中,或者可能与文件路径/权限有关。