Password login php

amsy10 -  
 amsy10 -
Bonjour,
voila mon probleme est que quand je met le else il ne donne pas le temp de saisir en me mettant deja "Mot de passe incorrect" alor que je veux faire une saisir d 'abord.voila mon code :
<div style="background-color:#ff6633;width:50%;">
<body>
<?php
$log=amara;
$pass=amara;
if($_POST['login']==$log and $_POST['password']==$pass)
{
echo '<meta http-equiv="refresh" content="0; URL=Posequestion.php">';
}
/*else
{
echo "Mot de passe incorrect";
}*/

?>

<form method="post" action="">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Votre login</b></td>
<td width="200">
<input type="text" name="login">
</td>
</tr>
<tr>
<td width="200"><b>Votre mot de passe<b></td>
<td width="200">
<input type="password" name="password">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="login">
</td>
</tr>
</table>

</form>
</div>
A voir également:

3 réponses

Pilow Messages postés 410 Statut Membre 71
 
C'est normal

Ton code fais ca :

SI (LES INFOS SONT ENVOYEES ET CORRECTES)
 JE FAIS CA
SINON
 MOT DE PASSE FAUX

FORMULAIRE


Tu ne test pas : Si les infos sont envoyées et pas correctes à part

Tu devrai faire :
if (isset($_POST['pass']))
{
if ($pass == $_POST['pass'])
echo '<meta http-equiv="refresh" content="0; URL=Posequestion.php">'; 
else
echo 'ERREUR DE MOT DE PASS';
}
0
amsy10
 
oui mais je ne comprend ppas une partie
if (isset($_POST['pass']))
{
if ($pass == $_POST['pass'])
lui permettra de verifier le mot de passe si il est correst ou quoi puisse que j'ai fais ca il ne permet meme pas de me connecter a l autre page
0
Pilow Messages postés 410 Statut Membre 71
 
Sur ta page, tu as un formulaire.

Quand tu ouvre ta page pour la première fois tu tombe sur ce formulaire.
Tu indique Login et Mot de passe et tu fais "Submit" ton formulaire.
Une fois submit, tu es redirigé vers la page indiqué dans action="" de ta balise form, par défaut la même page que celle sur laquelle tu es actuellement.
Tu récupère donc des valeur soit $_POST soit $_GET.

Donc sur cette page tu a deux cas à gérer
1/ Tu viens d'arriver sur la page donc tu accède au formulaire
2/ Tu viens d'envoyer ton login mdp donc tu dois vérifier mot de pass etc ..

Donc tu commence par séparer en deux :

IF (!empty($_POST['pass']))
{
VERIF MDP
}
(ELSE)
{
AFFICHE FORMULAIRE
}


Dans ton verif mdp tu as également deux cas :
1/ Bon mot de passe
2/ mauvais mot de passe

Donc tu fais pareil

IF (!empty($_POST['pass']))
{
	if (BON MOT DE PASSE)
		header('Location:success.php');
	else
		echo 'Raté';
}


Que n'a tu pas compris ?
0
amsy10
 
suis vraiment confu regarde
$pass==amara;
$log==amara;
if($log=$_POST['login']
{
if($pass=$_POST['password'])
echo '<meta http-equiv="refresh" content="0; URL=Posequestion.php">';

else echo 'Erreur de mot de passe';
}
la connexion passe a l autre page si le mot d pass est bien tapé et si il y a erreur tjr ca qui ne marche pas
0
Pilow Messages postés 410 Statut Membre 71
 
$pass==amara;
$log==amara;
if($log=$_POST['login']
{
if($pass=$_POST['password']) 


Tu confond les == et = je crois

= <- Assigne une valeur à une variable
== <- Compare l'égalité des valeurs contenues par deux variables
$pass = 'amara';
$log = 'amara';
if($log == $_POST['login']
{
if($pass == $_POST['password']) 
0
amsy10
 
Mais pour quoi il me donne pas le temp de saisi et il m affiche deja mot de passe erreur
0
amsy10 > amsy10
 
Merci beaucoup
j'ai reussi a le faire.
cdlt
0