0

私はstockoverflow.comにかなり慣れていないので、しばらく答えを探しているので、ここに質問を入れました。ベースは次のようになります。

index.php:

<body>
<div id=”login”&gt; This <div> is hidden
<div>my Login form</div>
</div>

<ul>
<li>menu item</li>
<li>menu item </li>
<li>…&lt;/li>
<li><a href=”#” class=”login”&gt;login</a></li>

</ul>

rest of my code……

</body>

login-form は次のように呼び出されます: function.js

$('#login').hide();
$('.login').click(function() {
$('#login').show();
document.body.style.overflow = "hidden"; 
});

送信をクリックすると、次のコードでログインできます。

login.js $(document).ready(function() {

$("#message").hide();

$("#submit").click(function(){
$("#message").hide('normal');

$.ajax({
type: "POST",
url: 'login.php',
data: $("#main form").serialize(),

success: function(data)
{
if (data === 'true') {

$(".login").fadeOut(500);
$('.login).html("<div class='loader'></div>")
.hide()
.fadeIn(2500, function() {
$('.login).load('administrator/test.php');
})

}
else {
$('#message').slideDown('slow');
}
}
});
return false;
});

});

そしてphpコード:Login.php

try {
$stmt = $db->prepare('SELECT * FROM table WHERE email = :email AND passenc = :pass' );
$stmt->execute(array(email => $email, 'pass' => $pass));

$count = $stmt->rowCount();

if ($count > 0) {
echo 'true';
$_SESSION['email'] = $email;

} else {
echo "false";
}

}

ここまではすべて正常に動作し、ログインして管理ページを取得できます。おそらく誰かがそれをより良くする方法をアドバイスします。

しかし、私の質問はこれです:

次に、ロードしたページを閉じるか、F5 をクリックすると、index.php ページがリロードされます。何も問題はありませんが、ここから私の問題が始まります。

次にもう一度ログインをクリックすると、セッションの作成時に保護されたページではなくログイン フォームが表示されます。セッションが作成され、ログインボタンをクリックするとページが保護されたページにリダイレクトされ、セッションの有効期限が切れた場合にログインフォームが読み込まれると、どうすればそれを実行できますか?

4

1 に答える 1

0

ユーザーを確認したい場合は、すでにログインしてリダイレクトしている場合は、このコードを最初の行に入れますlogin.php

session_start();
$url = "your private page";
if ( isset($_SESSION['email']) )
{
   header("Location :$url");
   die();
}
于 2013-04-03T10:28:14.327 に答える