Problème avec session
yvesregis
Messages postés
76
Statut
Membre
-
yvesregis Messages postés 76 Statut Membre -
yvesregis Messages postés 76 Statut Membre -
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.
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.
A voir également:
- Problème avec session
- Session invalide ou obsolète - Forum Consommation & Internet
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Windows
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Veuillez ouvrir une session avec les privilèges de gestionnaire - Forum Windows 10
- 3D-Secure session expirée ✓ - Forum finances