Déconnexion par session

Bonjour voila je dévelloppe une application c'est ma vraie première et je suis dans le caca lol

J'arrive a me connecter donc c'est bon par contre je tente de faire un bouton pour se déconnecter et je voudrais savoir si ma méthode est la bonne.

[CODE] $login = $_SESSION['login'];
require('Require\Connexion_A3P.php');
$nom = " SELECT NOM, PRENOM
FROM PERSONNES
WHERE LOGIN = '".addslashes($login)."'";

$req = odbc_exec($conn,$nom) or die('Erreur SQL : <br />'.$nom);

while (odbc_fetch_row($req))
{
$_SESSION['nom'] = odbc_result($req,"NOM");
$_SESSION['prenom'] = odbc_result($req,"PRENOM");
}
$nom = $_SESSION['nom'];
$prenom = $_SESSION['prenom'];

echo "<h2>";
echo "<center>Bienvenue ".$prenom.", ".$nom, " dans l'application GTP</center>";
echo "</h2>";

echo "<br><br>";
echo '<center><input name="deco" value="Déconnexion" target="_blank" type="submit"></center>';/CODE

et donc le bouton se déconnecter qui envoie vers cette page

[CODE] // On appelle la session
session_start();

// On écrase le tableau de session
$_SESSION = array();

// On détruit la session
session_destroy();

header('Location:http://a3p/GTP/0_Consultation/Consultation.php');/CODE

Voila donc je voudrais savoir si c'est bien codé?
Si l'autentification est suffisante?
Si ma déconnexion est suffisante pour que l'utilisateur ne passe par l'URL par exemple ou s'il est bien déconnecter comme ca voila

Aidez moi svp

merci d'avance
Configuration: Windows 2003
Internet Explorer 7.0

7 réponses

  1. avec ce code tu viens de vider et détruite la session sous laquelle il était donc pas de soucis.
    1. ok donc l'utilisateur ne devrait pas pouvoir passer par l'url?
      1. non puisque la session est detruite et que tu ne stocke pas d info dans l ur avec ta methode
        1. pourtant je peut lol

          Comment remédier a ce problème?
          1. ok je regarde par contre si tu veut bien regarder je souhaite rediriger si j'ai pas les sessions mais je redirige que dans le frame je voudrais faire sur la page sans les frame tu vois ce que je veut dire?

            <?php
            session_start(); 
            
            $login = $_SESSION['login'];
            require('Require\Connexion_A3P.php');
            $nom = "	SELECT NOM, PRENOM
            			FROM PERSONNES
            			WHERE LOGIN = '".addslashes($login)."'";
            			
            			$req = odbc_exec($conn,$nom) or die('Erreur SQL : <br />'.$nom);
            				
            			while (odbc_fetch_row($req)) 
            				{ 
            					$_SESSION['nom'] = odbc_result($req,"NOM");
            					$_SESSION['prenom'] = odbc_result($req,"PRENOM");
            				}
            $nom = $_SESSION['nom'];
            $prenom = $_SESSION['prenom'];
            
            if ($nom == '' && $prenom == '')
            				{
            				header('Location: Consultation.php');
            				}
            ?>
            <html>
            
            <!--##########################################################################################################################-->
            
            	<head>	
              		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
            		<title>M8</title>
              		<link rel="stylesheet" media="screen" type="text/css" title="identification" href="Application.css">
            	</head>
            
            <!--##########################################################################################################################-->
            	
            <body>
             <form method="post" action="Logout.php" >
            
            <!---------- Bannière ---------->
            
            <div id="ban2">
            
            <?php
            echo "<h2>";
            	echo "<center>Bienvenue ".$prenom.", ".$nom, " dans l'application GTP</center>";
            echo "</h2>";
            
            echo "<br><br>";
            echo '<center><input name="deco" value="Déconnexion" type="submit"></center>';
            
            ?>
            
            <!---------- Menu onglet ---------->
            
            <ul style="width: 905px;" class="glossymenu">
            
            	<li ><a href="http://a3p/GTP/4_Superviseur/Superviseur.php" target="bas"><b>Gestion données</b></a></li>
            
            	<li><a href="http://a3p/GTP/1_Arret_chaine/Utilisateur.php" target="bas"><b>Saisie arrêt</b></a></li>
            	
            	<li ><a href="http://a3p/GTP/5_Calendrier/Calendrier.php" target="bas"><b>Calendrier prod.</b></a></li>	
            	
            	<li><a href="http://a3p/GTP/2_Plan_action/Plan_action.php" target="bas"><b>Affect. Arrêts chaîne</b></a></li>
            	
            	<li><a href="http://a3p/GTP/2_Plan_action/PL.php" target="bas"><b>Plans d'action</b></a></li>
            	
            	<li><a href="http://a3p/GTP/3_Indicateur/Indicateur.php" target="bas"><b>Synthèse</b></a></li>
            	
            </ul>
            </div>
            </form>
            </body>
            
            <!--##########################################################################################################################-->
            
            </html>
             
            1. alors je n'arrive pas a comprendre tout le tuto que vous m'avez passé serait ce possible d'avoir des explications?

              Et sinon j'ai un problème dans une page de mélange de session

              je fais ca :

              foreach($_SESSION as $key=>$val)
              {
              $requete =" UPDATE ARRET_CHAINE
              SET NUMERO_PLAN_ACTION = '$num'
              WHERE NUMERO_ARRET_CHAINE =".$val;

              $req = odbc_exec($conn,$requete) or die('Erreur SQL : <br />'.$requete);
              }

              hélas $val prend pas la bonne valeur pourriez vous me dire d'une part comment faire et aussi pourquoi ca fait ca? svp