Comment se déconnecter correctement

Résolu/Fermé
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020 - Modifié par programmeur php le 29/05/2012 à 17:57
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020 - 1 juin 2012 à 10:02
Bonjour,


je travaille avec les sessions, et quand je veux déconnecter je clique un lien qui amène à une page de déconnexion qui détruit la session.
ce que je veux faire c'est le même principe que yahoo qui empêche l'internaute de revenir en arrière après la déconnexion de son compte et, et je sais pas qu'est-ce qu'il faut faire.

6 réponses

Profil bloqué
29 mai 2012 à 17:39
tu fait déconnecter
0
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020
Modifié par programmeur php le 29/05/2012 à 18:13
bonjour
vous ne m'avez compris. Ce que je veux dire c'est que la déconnexion se fait , mais au cas où le pc est utilisé par plusieurs personnes, ils peuvent accéder à ma session en utilisant le chemin d'accès qui amène à mes fichiers sans passer par le processus d'authentification.
voici le code d'authentification:

<?php


if (isset($_POST['login']) && isset($_POST['motdepasse'])) {
$login=$_POST['login'];
$mot=$_POST['motdepasse'];

//connexion
$connection= mysql_connect("localhost","root","");
$selection= mysql_select_db("bd");
$requete=mysql_query("select * from bd.table WHERE motdepasse LIKE '".$mot."' and login LIKE '".$login."' ");

$objet=mysql_fetch_object($requete);
if (is_object($objet))
{

session_start();
$_SESSION['login']=$login;
$_SESSION['motdepasse']=$mot;

header ('location:suppression.php');
}
else {

echo 'Accés refusé';


}
}
else {
echo 'vous devez inserez des valeurs';

}
?>
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
Modifié par Tralala8 le 29/05/2012 à 18:40
Une méthode très simple serait de vérifier à chaque début de page devant être protégée par la session que les $_SESSION existent bien.

En clair :

if(!isset($_SESSION['login']) && !isset($_SESSION['motdepasse']){ 
     header('location:ma_page_de_connexion.php'); 
} 


Ainsi, si les deux variables de sessions ne sont pas présente (dans le cas où il n'y aurait aucune connexion préalablement effectuée ou dans le cas d'un session_destroy()), une redirection est faite vers la page de connexion.

EDIT :

Par contre, je pense qu'il est inutile de garder en mémoire le mot de passe. En effet, si la variable $_SESSION['login'] existe, c'est parce que le mot de passe était correct. La variable $_SESSION['motdepasse'] n'a donc aucune utilité.
0
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020
29 mai 2012 à 18:45
comment peut-on faire une redirection vers la page de connexion, et où peut-on mettre le code de redirection?
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
29 mai 2012 à 18:48
La redirection se fait avec le header('location'); que j'ai déjà mis dans le petit code ci-dessus.

Sinon, tu peux mettre le code juste après ton session_start(). Il est inutile de le mettre plus loin car, s'il n'y a pas de session ouverte, l'utilisateur n'a rien à faire sur la page en question.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020
Modifié par programmeur php le 29/05/2012 à 21:03
j'ai mis votre code, voilà le code complet:
<?php
session_start();
if(!isset($_SESSION['login']) && !isset($_SESSION['motdepasse']){
header('location:connexion.php');
}
?>
<!DOCTYPE html><!--cela signifie que la page est ecrite en HTML5.-->



<html lang='ar' dir='ltr'>
<head>

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>

<title></title>





<title>Premiers tests du CSS</title>
<link rel='shortcut icon' type='image/x-icon' href='../mouse.jpg' />
</head>

<body>
<?php


//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "cripe" ) ;
mysql_query("SET NAMES 'UTF8'");
//création de la requête SQL:


echo'<table>
<TR><th> </th><th> Nom</th><th> Prenom</th></TR>';

$requete= mysql_query("SELECT * FROM cripe.abonne");



while($data=mysql_fetch_object($requete)) {



echo '<form action="receptionsuppression.php" method="GET"><tr><td><input type="checkbox" name="monchamp[]" value="',$data->id,'"></td><td>',$data->nom,'</td><td>',$data->prenom,'</td></tr>';}
mysql_free_result($requete);

echo'<tr><td><input type="submit" value="Supprimer" align="center"></td><td><input type="reset" value="Annuler" align="center"></td></tr>';
echo'</form>';
echo'</table>';

?>

il m'a écrit:
Parse error: syntax error, unexpected '{' in C:\...\suppression.php on line 3
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
29 mai 2012 à 21:14
La parenthèse du if n'est pas fermée ;)
0
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020
Modifié par programmeur php le 1/06/2012 à 10:03
Merci
0