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