Php identifiant et mot de passe

Fermé
ALIA - 8 mars 2010 à 10:07
_Pandou_ Messages postés 68 Date d'inscription jeudi 25 février 2010 Statut Membre Dernière intervention 29 mars 2010 - 8 mars 2010 à 11:50
Bonjour,


Je travaille sur les sessions en php (identifiant et mot de passe). Mon fichier où se trouve le formulaire est login.php et le fichier pour le résultat est script.php. Pour le tester j'ai plusieurs conditions :

Le login attendu est "toto" et le mot de passe associé est "1234". Modifiez script.php pour que soit affiché
– "Bonjour ! Session ouverte le : " suivi de la date et de l’heure en cas de succès
– "Echec : mauvais login ou mot de passe !" suivi par un lien vers login.php en cas d’identifiants erronés
– "Erreur : vous devez obligatoirement vous authentifier" suivi par un lien vers login.php si le formulaire n’a
pas été soumis.

Tout marche hormis une chose ! Quand je met un mot de passe incorrect, la phrase "vous devez obligatoirement vous authentifier" s'affiche alors que c'est "mauvais login ou mot de passe !" qui devrait s'afficher.

Voici mon login.php :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Connexion</title>
</head>
<body>
<form method="POST" action="script.php">
Login : <input type="text" name="login" /> <br /> <br />
Mot de passe : <input type="text" name="password" /> <br /> <br />
<input type="submit" name="soumettre" value="envoyer">
</form>
</body>
</html>




et voici mon script.php :

<?php
$log = $_POST['login'];
$pass = $_POST['password'];
if ($log == 'toto' and $pass == '1234' )
{ echo 'Bonjour ! Session ouverte le ';
echo date(' d \/ m \/ Y '); echo ' a '; echo date(' G:i ');


if ($log != 'toto' or $pass != '1234' )
echo 'Echec : mauvais login ou mot de passe ! <a href="login.php"> Se reconnecter </a>' ;}

else
{ echo 'Erreur : vous devez obligatoirement vous authentifier ! <a href="login.php"> Se reconnecter </a>' ;}
?>



MERCI DE ME PREVENIR SI VOUS TROUVEZ MON ERREUR ! Il parait que c'est un souci d'imbrication mais... :s
A voir également:

9 réponses

_Pandou_ Messages postés 68 Date d'inscription jeudi 25 février 2010 Statut Membre Dernière intervention 29 mars 2010 6
8 mars 2010 à 10:22
ta oublié une } a la fin du premier if et une { après le second if
0
Et non désolé ce n'est pas ça, ça fait une erreur, non je suis sûre que ce n'est pas ce problème là
0
_Pandou_ Messages postés 68 Date d'inscription jeudi 25 février 2010 Statut Membre Dernière intervention 29 mars 2010 6
8 mars 2010 à 10:28
alors y'a un soucis parceque tant que tu ne rentre pas les bonnes données il n'ira pas au second if il passera direct au else
0
Pourquoi il passe au else directement ???
0

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

Posez votre question
_Pandou_ Messages postés 68 Date d'inscription jeudi 25 février 2010 Statut Membre Dernière intervention 29 mars 2010 6
8 mars 2010 à 10:47
teste ce code la :

<?php
$log = $_POST['login'];
$pass = $_POST['password'];
if ($log == 'toto' and $pass == '1234' )
{ echo 'Bonjour ! Session ouverte le ';
echo date(' d \/ m \/ Y '); echo ' a '; echo date(' G:i ');
}


elseif ($log != 'toto' or $pass != '1234' )
{echo 'Echec : mauvais login ou mot de passe ! <a href="login.php"> Se reconnecter </a>' ;}

else
{ echo 'Erreur : vous devez obligatoirement vous authentifier ! <a href="login.php"> Se reconnecter </a>' ;}
?>
0
ALors oui ça marche mais maintenant "mauvais login ou mot de passe !" s'affiche à la place de "vous devez obligatoirement vous authentifier !" (qui doit s'afficher quand on change de page web sans toucher à l'identification)
0
_Pandou_ Messages postés 68 Date d'inscription jeudi 25 février 2010 Statut Membre Dernière intervention 29 mars 2010 6
8 mars 2010 à 11:06
j'ai du mal a comprendre la
0
^^ Bon je m'explique :

Quand on rentre le bon mot de passe, la phrase ""Bonjour ! Session ouverte le : "

Quand on rentre un mauvais identifiant OU un mauvais mot de passe, la phrase "Echec : mauvais login ou mot de passe !" doit s'afficher

Quand on essaye de faire quelque chose comme changer de page web sans toucher aux champs de l'identification, la phrase "Erreur : vous devez obligatoirement vous authentifier" doit s'afficher

Et donc là le problème c'est que pour les deux dernières actions la même phrase s'affiche ! Ce qui n'est pas bien ^^'
0
_Pandou_ Messages postés 68 Date d'inscription jeudi 25 février 2010 Statut Membre Dernière intervention 29 mars 2010 6
8 mars 2010 à 11:50
je vois c'est parce que faut voir si il a bien reçu des données du formulaire ou pas .
test ca :

if (isset ($_POST['login']) or isset ($_POST['password'])){
$log=$_POST['login'];
$pass= $_POST['password'];

$ident=1;
}
else
{
$log="";
$password="";
}

if ($log == 'toto' and $pass == '1234' and $ident==1)
{ echo 'Bonjour ! Session ouverte le ';
echo date(' d \/ m \/ Y '); echo ' a '; echo date(' G:i ');
}


elseif ($log != 'toto' or $pass != '1234' and $ident==1)
{echo 'Echec : mauvais login ou mot de passe ! <a href="login.php"> Se reconnecter </a>' ;}

else
{ echo 'Erreur : vous devez obligatoirement vous authentifier ! <a href="login.php"> Se reconnecter </a>' ;}
0