2013-04-03 4 views
0

Je suis assez nouveau à stockoverflow.com parce que je suis je cherche un moment pour une réponse, je pensais, j'ai posé ma question ici. La base ressemble à ceci:Comment faire face à la session en php et ajax

index.php:

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

<ul> 
<li>menu item</li> 
<li>menu item </li> 
<li>…</li> 
<li><a href=”#” class=”login”>login</a></li> 

</ul> 

rest of my code…… 

</body> 

connexion-forme est appelée ainsi: function.js

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

Lorsque je clique sur soumettre, je peux vous connecter avec le code suivant:

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; 
}); 

}); 

et le code 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"; 
} 

} 

Jusqu'à ici tout fonctionne bien, je peux vous connecter et obtenir la page admin. Peut-être que quelqu'un conseille comment le faire mieux.

Mais ma question est la suivante:

Si je puis fermez le chargé ou cliquez sur F5 ma page index.php rechargements. Il n'y a rien de mal à, mais ici commence mon problème.

Si je clique à nouveau sur Connexion, le formulaire de connexion s'affiche à la place de la page protégée lors de la création de la session. Comment puis-je le faire lorsque la session est créée et je clique sur le bouton de connexion la page rediriger vers la page protégée et si la session a expiré, le formulaire de connexion est chargé?

Répondre

0

si vous voulez vérifier l'utilisateur, si la connexion déjà alors rediriger, mettre ce code à la première ligne de login.php

session_start(); 
$url = "your private page"; 
if (isset($_SESSION['email'])) 
{ 
    header("Location :$url"); 
    die(); 
} 
Questions connexes