[php] Déconnexion espace membre avec sessions

Fermé
sim - 31 janv. 2008 à 21:25
 titi06 - 28 févr. 2008 à 09:11
Bonjour à tous, je n'arrive pas à me deconecter de ma session. Je m'explique :
l'utilisateur rentre sur cette page ses id et mdp :



<?php 
	session_start(); // initialisation de la variable session 
	echo('<?xml version="1.0" encoding="iso-8859-1"?>'); 
?>

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
	
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<title>Bienvenue sur oya-location.com</title>
	<meta http-equiv="Content-Type" content="text/html ; charset=iso-8859-1" />
	<link rel="stylesheet" media="screen" type="text/css" title="Design" href="styles/design.css" />
</head>

<body>

	<?php include("menu.php") ?>
	
	<div id="content" >
	
		<div id="contents">
	
		<?php
			if ((isset($_SESSION['password'])) AND (isset($_SESSION['email'] ))) //on teste si membre déjà connecté
			{
		?> <!-- Espace personnalisé pour modifier ses locations -->
		
		<div id="donnees">
		
		
		</div>
		
		<?php
		
			}
			else // si le membre n'est pas conect, on affiche les boites email password
			{
		?>
		<div id="password">
		
			<br/>
			<table>
			<form method="post" action="membres.php">
				<tr>	
					<td rowspan="2">E-Mail : </td>
				</tr>
				<tr>	
					<td><input type="text" name="email" size="15" maxlength="30" class="text"/></td>
				</tr>  
				<tr>	
					<td rowspan="2">Mot de passe : </td>
				</tr>  
				<tr>	
					<td><input type="password" name="password" size="15" maxlength="12" class="text"/> </td>
				</tr>
				<tr>	
					<td colspan="2"></td>
				</tr>  		
				<tr>	
					<td> 
						<input type="submit" value="S'identifier"  class="boutton"/> 
					</td>
					<td>
						<input type="reset" value="Annuler" class="boutton"/> 
					</td>
				</tr> 
			</form>
			</table>
				<br/>
				
				<a href="inscription.php">Pas encore inscrit ?</a>  | 
				<a href="password.lost.php">Mot de passe perdu ?</a>

			<div id="avantages">
			
				<div class="img-center">
					<b>Pourquoi s'inscrire sur Oya-Location ?</b>
				</div>
			
					<ul>
						<li> Offres promotionnelles réguliéres pour les annonceurs </li> <br></br>
						<li> Pas d'intermédiaires : de particuliers à particuliers </li>  <br></br>
						<li> Un site simple, facile d'accés  </li>  <br></br>
						<li> Présentation attractive des locations </li> <br></br>
						<li> Gestion des annonces en temps réel </li> <br></br>
					</ul>
					
			</div> <!-- fin de avantages -->
			
		</div> <!-- fin de password -->
		
		<div id="separateur-id"></div>
			
		<?php 
			} //on ferme le "else"
		?>

	</div> 

</div>
	<?php include("copyright.php") ?>

</body>

</html>



Ensuite, une fois la vérif faite sur la bdd, il m'affiche un lien "se déconecter" qui se redirige vers ça :


<?php

unset($_SESSION);
unset($_COOKIE);
session_destroy();

?>

<html>
<head>

<title>Oya-Location : redirection</title>

<meta http-equiv="refresh" content="1; URL=http://www.oya-location.com">
</head>

<body>

Déconnexion en cours ...
</body>

</html> 



Mais quand je retourne sur "Espace membre", je suis toujours connecté ... Est ce que quelq'un sait pourquoi ?
Merci de votre aide !
A voir également:

3 réponses

balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
31 janv. 2008 à 21:59
enleve ca
unset($_SESSION);
unset($_COOKIE);

pour commencer...

Si tu veux virer les variables du cookie re-envoie un cookie met avec un temps de validité de -1.

Après ton code me parait correct j'ai pas vérifier la page de login mais que la page de logout pouisque l'erreur ne peut venir que de là !
0
merci mais c'est ce que j'avais mis avant juste session destroy, mais les sessions ne se vident pas. J'ai essayé de réaffecter, rien à faire. J'ai même tenter avec firefox "effeacer mes traces" .... non plus. je comprends pas ...
0
bon j'ai reussi à me déconecter en enlevant les cookies et cache de firefox ... mais je comprends toujours pas pourquoi session destroy ne fonctionne pas.
0
Il faudra rajouter cette ligne en début de ton script de logout

if ($PHPSESSID) {session_start( $PHPSESSID );} else {session_start();}
0