Problème avec session

Fermé
yvesregis Messages postés 62 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 20 mars 2010 - 14 déc. 2008 à 14:48
yvesregis Messages postés 62 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 20 mars 2010 - 14 déc. 2008 à 16:32
Bonjour,
j'utilise easyphp 1.8 et firefox 2.O.1

je fait un site avec php. J'ai écrit un formulaire , un script de connexion avec verification du formulaire et un autre de deconnexion. Le script de connexion marche bien ;les utilisateurs se logguent avec leur speudo et mot de passe. Voici les scripts :
1.le formulaire de verification

<form method="post">
login : <input type="text" name="login" size="12" />
password : <input type="text" name="mot_de_passe" size="12" />
<button type="submit">send </button>
</form>


2. le formulaire PHP de verification du login et du mot de passe

<?
session_start();
$loginok = false ;
if( isset($_POST['login']) AND isset($_POST['mot_de_passe']) )

{ if( $_POST['login']!=NULL AND $_POST['mot_de_passe']!=NULL)
{
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("formulaire_hamanieh") or die(mysql_error());
extract($_POST);
$login = mysql_real_escape_string(htmlspecialchars($_POST['login'])) ;

$pass = $_POST['mot_de_passe'];
$rex = mysql_query("SELECT * FROM formulaire WHERE surnom='$login' ") or die(mysql_error());
if(mysql_num_rows($rex)> 0)
{ $kes = mysql_fetch_array($rex);
if( $kes['mot_de_passe']==$pass)
{ $loginok = true ;
$_SESSION['nom'] = $kes['nom'] ;
$_SESSION['prenom'] = $kes['prenom'] ;


}
}
}
}
if($loginok )
{
$_SESSION['nom'] = $kes['nom'] ;
$_SESSION['prenom'] = $kes['prenom'] ;

}

else
{

$_SESSION['nom'] = '' ;
$_SESSION['prenom'] = '' ;


}
?>
3. le srcipt de deconnexion :

<?php
// on demarre notre session
session_start();
//***************************************************************************
// fonction de redirection vers une page donnée $url
function redirection($url)
{
if (headers_sent())
{
print('<meta http-equiv="refresh" content="0;URL='.$url.'">');
}
else
{
header("Location: $url");
}
}
//**************************************************************************


// on detruit les variables de cette session
session_unset();
// on detruit la session en elle meme
session_destroy();
// on redirige le visiteur
echo ' <script language=JavaScript> alert ("Vous êtes deconnecté.\nVous serez redirigé vers la page d\'accueil"); </script> ';

$url="index.php";
redirection($url);
?>



mon problème

losrque je clique sur le lien déconnexion ; il détruit la session et me redirige vers ma page d'accueil index.php.Lorsque je clique sur le lien de la page d'accueil à partir de n'importe quelle page
la session est automatiquement détruite. Du coup c'est comme si j'ai deux liens de déconnexion. le lien
de la page deconnexion.php et le lien de la page index.php.
Je voudrais que la session soit fermée uniquement si on clique sur le lien deconnexion(celui qui pointe vers la page deconnexion.php) et que l'utilisateur soit redirigé vers la page d'accueil.

2 réponses

pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
14 déc. 2008 à 16:26
remplace ta balise <? par <?php car il se pourrait que les "short tags" ne soient pas activés
0
yvesregis Messages postés 62 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 20 mars 2010 26
14 déc. 2008 à 16:32
ça n'a rien avoir avec mon problème et puis ça ne marche pas
0