Session php indestructible

Fermé
Psykoo - 7 juin 2010 à 00:50
thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 - 7 juin 2010 à 03:21
Bonjour,

QQun pourrais me dire pourquoi mon lien de déconnexion ne fait absolument rien?

voici la page membres.php . Si aucune session est ouverte un formulaire est affiché sinon on affiche : Vous êtes bien logué (nom d'utilisateur). avec un lien vers la page Deconnexion.php (voir plus bas)


<?php
session_start();
    $loginOK = false;
    $errorMessage = '';
	$db = mysql_connect('localhost', 'MESINFOS', 'MESINFOS');
	mysql_select_db('db_website',$db);			
    // Test de l'envoi du formulaire
    if($_POST) 
	{
		// Les identifiants sont transmis ?
        if(!empty($_POST['login']) && !empty($_POST['pass'])) 
		{
			$sql = "select PASSWORD, NOM, SEXE, PRENOM, PLEVEL from table_utilisateurs where EMAIL='".$_POST['login']."'";
			$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
			$data = mysql_fetch_assoc($req);
			// On vérifie que l'utilisateur existe bien.
			if (mysql_num_rows($req) > 0)
			{
				if ($_POST['pass'] == $data['PASSWORD'])
				{
   					$loginOK = true;
				}
				else
				{
					$loginOK = false;
					$errorMessage = 'Mauvais login / password.';
				}
			}
			else
           	{
				$loginOK = false;
				$errorMessage = 'Compte introuvable.';
			}
		}
		else
		{
			$loginOK = false;
			$errorMessage = 'Un champ est rester vide.';
		}
	}
	else
	{
		$loginOK = false;
		$errorMessage = '';
	}
	if ($loginOK)
	{
		$_SESSION['login'] = $_POST['login'];
		$_SESSION['sexe'] = $data['SEXE'];
		$_SESSION['nom'] = $data['NOM'];
		$_SESSION['prenom'] = $data['PRENOM'];
		$_SESSION['plevel'] = $data['PLEVEL'];
		//$url = "membres.php?".session_name()."=".session_id(); 
		//header("Location: $url");
		header('Location: membres.php');
		exit();
	}
?>


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>


<?php
		if(!isset($_SESSION["login"]))
		{
		echo '<p><form action="membres.php" method=\'post\'>
				<p align="center" class="style3">Cette section est réservé exclusivement aux membres du site web.<br></p>
				<p align="center" class="style3">&nbsp;</p>
				<p align="center" class="style3">'.$errorMessage.' Merci de recommencer.ll ', $_SESSION['login'] ,'</p>
				<p align="center" class="style3">&nbsp;</p>
				<p align="center" class="style1">Entrer vos informations</p>
				<table width="214" border="0" align="center">
  					<tr>
    					<td rowspan="2" class="style2"><img src="img/accueuil/cadena.gif" width="47" height="44"></td>
    					<td height="24" class="style2">Login</td>
   					<td><input type="text" name="login" maxlength="250"></td>
  					</tr>
  					<tr>
    					<td height="24" class="style2">Password</td>
    					<td><input type="password"name="pass" maxlength="10"></td>
  					</tr>
  					<tr>
    					<td height="26" colspan="3" align="center"><div align="right">
   						<input type="submit" value="Entrer"></div>
					</td>
					</tr>
				</table>
				<p align="center"><a href="signup.html">S\'inscrire</a></p>
				</form></p>';
		}
		else
		{
		echo 'Vous êtes bien logué ',$_SESSION['login'],' ',$_SESSION['nom'];
		}
	?>
<a href="deconnexion.php" title="Déconnexion" class="style2">Se déconnecter</a></p>

</body>
</html>


contenu de Deconnexion.php

<?php
session_start();
$_SESSION = array();
session_destroy();
header('Location: membres.php')
?>


Comme vous pouvez voir le script a l'interieur de Deconnexion.php renvoie a la page membres.php apres avoir "détruit" la session. Donc membres.php devrait revenir au formulaire de login mais le probleme c'est qu'il affiche tjrs : Vous êtes bien logué...

Le seul moyen de "resetter" la page membres.php (pour le moment) est de supprimer les fichiers tempo manuellement.

Qqun aurait une idée??????

MERCI

1 réponse

thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
7 juin 2010 à 03:21
salut au lieu de $_SESSION = array() teste avec session_unset();
0