3

簡単なログインおよび登録システムを作成し、セッションを使用してユーザー名をユーザーに表示しました。これは練習用です。
登録ページではすべて正常に機能し、ユーザーを登録できますが、ログインしようとすると、本来の動作ではなく空白のページが表示され、「ログイン成功」が表示され、「インデックス」にリダイレクトされます.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 でこれを試しましたが、どれも機能しませんでした。さらに情報が必要な場合は、教えてください。

では、なぜログインできないのでしょうか。

どうもありがとう。

(ああ、私の英語ですみません)

4

1 に答える 1

1

include()ステートメントをに置き換えてみてくださいecho "success";。これにより、エラーがそれらのファイルの 1 つにあるのか、またはファイル パス / パーミッションにある可能性があるのか​​がわかります。

于 2012-08-12T06:27:10.203 に答える