2010-04-12 3 views
0

Je vais avoir des difficultés dans la fabrication du code php pour fermeture de session pour travailler. Lorsque je clique sur le bouton de fermeture de session, il va revenir à la page d'accueil, mais quand je clique sur le bouton de retour dans le navigateur. Je peux toujours accéder à la page précédente, dans laquelle l'utilisateur doit être connecté pour y accéder. Je pense à rediriger vers la page de connexion lorsque l'utilisateur clique sur le bouton de retour du navigateur.Comment rediriger une page en php

Ceci est mon code, dans la page d'accueil (où, en aucun utilisateur est encore connecté. Cette page est appelée par un lien de déconnexion sur la page de l'utilisateur.

<? 
session_start(); 
session_destroy(); 
?> 
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> 
<tr> 
<form name="form1" method="post" action="checklogin.php"> 
<td> 
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> 
<tr> 
<td colspan="3"><strong>Member Login </strong></td> 
</tr> 
<tr> 
<td width="78">Username</td> 
<td width="6">:</td> 
<td width="294"><input name="myusername" type="text" id="myusername"></td> 
</tr> 
<tr> 
<td>Password</td> 
<td>:</td> 
<td><input name="mypassword" type="text" id="mypassword"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
<td><input type="submit" name="Submit" value="Login"></td> 
</tr> 
</table> 
</td> 
</form> 
</tr> 
</table> 

Répondre

0

les espaces avant le début de script briser la méthode « Location » proposé par stunti.

<? 
^^^ 

Faites attention et retirez-les.

2
<?php header('Location:'. $myurl);exit;?> 

devrait faire la astuce pour rediriger en supposant que rien n'a été envoyé au navigateur

Mais votre problème consiste plutôt à vérifier si l'utilisateur possède les informations d'identification correctes pour cette page.Après le session_start(), vous devriez vérifier si un utilisateur est présent dans le navigateur. Par exemple lorsque l'utilisateur se connecte ing, mettre quelque chose dans la session pour identifier l'utilisateur:

<?php $_SESSION['user_id'] = $userid; ?> 

Lorsque vous souhaitez accéder à une page qui nécessite un utilisateur d'être connecté:

<?php if (empty($_SESSION['user_id)) { header('Location: /');exit;} ?> 

donc si le user_id n'est pas présent dans le session, votre utilisateur n'est pas connecté, le redirige donc vers la page d'accueil.

Vous ne devriez pas détruire la session après l'avoir créé. Détruire la session ne devrait être fait que lorsque l'utilisateur se déconnecte. mais début de la session devrait se faire tout le temps (un peu plus facile de cette façon)

0

Dans votre page, signe à unset $ _SESSION [ « user_id »] avant de pouvoir rediriger vers la page d'accueil.

unset($_SESSIOM['user_id']); 

Ensuite, dans toutes les autres pages pour que l'utilisateur vous connecter simplement vérifier si la user_id de la session est défini si ce ne est pas situé juste à les rediriger vers la page d'accueil, tout comme stunti dit dans le commentaire ci-dessus

Questions connexes