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
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
A voir également:
- Comment se déconnecter correctement
- Chrome ne s'est pas correctement arrêté ✓ - Forum Google Chrome
- Manette ps4 se déconnecte toute seule - Forum PS4
- Wifi qui se deconnecte - Guide
- Comment se déconnecter de badoo - Forum Réseaux sociaux
- La page n’est pas redirigée correctement ✓ - Forum Mozilla Firefox
6 réponses
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
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';
}
?>
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';
}
?>
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
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 :
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é.
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é.
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
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?
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
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.
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.
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
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
<?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
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
29 mai 2012 à 21:14
La parenthèse du if n'est pas fermée ;)
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
Modifié par programmeur php le 1/06/2012 à 10:03
Merci