Vérifier la validité d'un mot passe [PHP]
Fermé
TritiuM
-
12 avril 2010 à 10:33
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 15 avril 2010 à 20:15
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 15 avril 2010 à 20:15
A voir également:
- Vérifier la validité d'un mot passe [PHP]
- Voir mot de passe wifi android - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Identifiant et mot de passe - Guide
9 réponses
Slt,
enleve tes sflash!
<?php
$host="localhost"
$user = "root";
$pass ="geronino";
$maconnexion =mysql_connect($host,$user,$pass);
$db=mysql_select_db("Lycee");
$login = $_POST['loginadmin'];
$passwordadmin = $_POST['passwordadmin'];
$Requete1 = 'SELECT loginadmin FROM Administration WHERE
loginadmin="'.$login.'" AND
passwordadmin ="'passwordadmin.'"';
$Resultat1=mysql_query($Requete1)
$num1 = mysql_fetch_assoc($resultat1);
$passwordadmin1 = $num1['passwordadmin'];
$login1 = $num1['password'];
if ($login == $login1 && $passwordadmin == $passwordadmin1);
{
//si tu veut
session_start();
header("Location:connexion_form1.html");
}else {
header("Location:connexion_form2.html");
}
?>
enleve tes sflash!
<?php
$host="localhost"
$user = "root";
$pass ="geronino";
$maconnexion =mysql_connect($host,$user,$pass);
$db=mysql_select_db("Lycee");
$login = $_POST['loginadmin'];
$passwordadmin = $_POST['passwordadmin'];
$Requete1 = 'SELECT loginadmin FROM Administration WHERE
loginadmin="'.$login.'" AND
passwordadmin ="'passwordadmin.'"';
$Resultat1=mysql_query($Requete1)
$num1 = mysql_fetch_assoc($resultat1);
$passwordadmin1 = $num1['passwordadmin'];
$login1 = $num1['password'];
if ($login == $login1 && $passwordadmin == $passwordadmin1);
{
//si tu veut
session_start();
header("Location:connexion_form1.html");
}else {
header("Location:connexion_form2.html");
}
?>
LelLex
Messages postés
1628
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
5 septembre 2012
112
12 avril 2010 à 21:35
12 avril 2010 à 21:35
Il manque quelques point-virgules là-dedans !
Bonjour
Syntaxiquement, tout a l'air correct.
Quand tu dis que "ça ne marche pas", ça ne veut rien dire. Pour que ça aie un sens, il faut que tu dises quelles manips tu fais, quels résultats tu attends et quels résultats tu observes.
Syntaxiquement, tout a l'air correct.
Quand tu dis que "ça ne marche pas", ça ne veut rien dire. Pour que ça aie un sens, il faut que tu dises quelles manips tu fais, quels résultats tu attends et quels résultats tu observes.
Bon je m'explique mieux...J'ai une page avec un formulaire "login", "password" enfin normal quoi...j'ai ma base de données avec dedans un login et un mot de passe déja insérer...et cette page php est censée vérifier le login et le mot de passe pour pouvoir accéder a la page suivante...!!! Tu vois comme quand tu te connectes a commentçamarche...!!! lol et au lieu de m'amener a la page suivante, il me fait des trucs bisares genre, il me demande de télécharger mon fichier .php ou il m'affiche mon codage php...c'est bisare...:'( il me met ça : Notice: Undefined variable: login in g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\verif.php on line 10
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
13 avril 2010 à 11:27
13 avril 2010 à 11:27
dans tes if else il vaut mieux mettre des { }
tu en avait mis une partie seulement
ensuite je suppose que tu veux faire
si seulement le login est bon acces à une page 1
si login est pas bon acces a une autre page 2
si login et pass sont bons acces a une autre page prof
donc avec tes deux test ça peut marcher
pour ton pb:
- est ce que ton script se nomme bien en .php ?
- passes tu bien par un serveur (local ou distant) c. a d. tu tapes l'adresse dans ton navigateur ou tu cliques seulement sur le fichier dans l'explorateur windows ?
- pour que le header fonctionne il ne faut absolument aucune balise html avant ce code (ni ligne vide avant <?php)
Ensuite pour que ce soit valable il faut faire une session
vas voir sur G... "sessions php"
car la si on tape directement l'adresse de la page "form_prof.htm" ça contourne ta vérification de login/password !
tu en avait mis une partie seulement
ensuite je suppose que tu veux faire
si seulement le login est bon acces à une page 1
si login est pas bon acces a une autre page 2
si login et pass sont bons acces a une autre page prof
donc avec tes deux test ça peut marcher
pour ton pb:
- est ce que ton script se nomme bien en .php ?
- passes tu bien par un serveur (local ou distant) c. a d. tu tapes l'adresse dans ton navigateur ou tu cliques seulement sur le fichier dans l'explorateur windows ?
- pour que le header fonctionne il ne faut absolument aucune balise html avant ce code (ni ligne vide avant <?php)
Ensuite pour que ce soit valable il faut faire une session
vas voir sur G... "sessions php"
car la si on tape directement l'adresse de la page "form_prof.htm" ça contourne ta vérification de login/password !
<?php $maconnexion =mysql_connect("localhost","root","geronimo")or die("Connexion au serveur impossible ".mysql_error()); $db=mysql_select_db("Lycee",$maconnexion)or die("Sélection de la base de données impossible ".mysql_error()); if(empty($_POST['loginadmin']) && empty($_POST['passwordadmin'])){ //si l'utilisiateur n'a pas saisi les 2 echo 'Vous devez saisir un login et un mot de pass !'; }else{ //les deux ne sont pas vide on identifie //on passe par la fonction mysql_real_escape_string pour sécuriser par rapport aux injections mysql (ça met des \ la ou il faut) $loginadmin=mysql_real_escape_string($_POST['loginadmin'],$maconnexion); $passadmin=mysql_real_escape_string($_POST['passadmin'],$maconnexion); } //verification en une seule requette que login existe dans la BDD //test de la forme login='valeur_login' $Requete1="SELECT loginadmin,passwordadmin FROM Administration WHERE loginadmin ='".$loginadmin."' "; $Resultat1=mysql_query($Requete1)or die("Pb avec la requette ".mysql_error()); $Num1=mysql_num_rows($Resultat1); if($Num1>=1) { $Requete2="SELECT passwordadmin FROM Administration WHERE passwordadmin ='".$passwordadmin."' AND loginadmin ='".$loginadmin."' "; $Resultat2=mysql_query($Requete2)or die("impossible d'executer la requête 2 ".mysql_error()); $Num2=mysql_num_rows($Resultat2); if($Num2==1){ header("Location:form_prof.htm"); }else{ header("Location:connexion_form1.html"); } }else{ header("Location:connexion_form2.html"); } ?>
oui mon script se nomme bien en .php, je passe par un serveur local vu que je clique sur mon fichier dans l'explorateur windows!!
je vien d'essayer avec ton codage et regarde ce que ça me met...
Notice: Undefined index: passadmin in g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php on line 11
Notice: Undefined variable: passwordadmin in g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php on line 21
Warning: Cannot modify header information - headers already sent by (output started at g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php:11) in g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php on line 29
je vien d'essayer avec ton codage et regarde ce que ça me met...
Notice: Undefined index: passadmin in g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php on line 11
Notice: Undefined variable: passwordadmin in g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php on line 21
Warning: Cannot modify header information - headers already sent by (output started at g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php:11) in g:\projet 3d\phpmyadminmodgsi_lycee\easyphp1-8-modgsi\www\projet\noname1.php on line 29
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
14 avril 2010 à 15:40
14 avril 2010 à 15:40
je passe par un serveur local vu que je clique sur mon fichier dans l'explorateur windows!!
Alors la pas d'accord, si tu cliques sur le nom du fichier dans l'exploratuer windows tu ne passes pas par le serveur local, pour passer par le serveur local si tu as EasyPhp ou wamp d'installé sur ton PC, tu dois taper dans la barre d'adresse de ton navigateur: http://localhost/projet/noname1.php
mais vu les messages que tu as tu dois surement faire comme ça
dans ton formulaire, est ce que ton champ mot de passe a bien pour name="passwordadmin"
tout en minuscules
Alors la pas d'accord, si tu cliques sur le nom du fichier dans l'exploratuer windows tu ne passes pas par le serveur local, pour passer par le serveur local si tu as EasyPhp ou wamp d'installé sur ton PC, tu dois taper dans la barre d'adresse de ton navigateur: http://localhost/projet/noname1.php
mais vu les messages que tu as tu dois surement faire comme ça
dans ton formulaire, est ce que ton champ mot de passe a bien pour name="passwordadmin"
tout en minuscules
j'ai easyphp c'est avec ça que je travaille...et oui dans mon formulaire, mon champ mot de passe a bien pour nom name="passwordadmin" ben attends je vais te mettre mon codage HTML aussi...regarde :
<body onLoad="tictac()">
<p align="right"><img src="68/c0.gif" name="a" width="16" height="21"><img src="68/c0.gif" name="b" width="16" height="21"><img src="68/colon.gif" name="c" width="9" height="21"><img src="68/c0.gif" name="d" width="16" height="21"><img src="68/c0.gif" name="e" width="16" height="21"><img src="68/colon.gif" name="f" width="9" height="21"><img src="68/c0.gif" name="g" width="16" height="21"><img src="68/c0.gif" name="h" width="16" height="21">
<br><br><br>
</p>
<CENTER><TABLE border=1>
<TR>
<TD><p align="center"><b><font size="10" face ="impact">ADMINISTRATION</font></b></p></TD>
</TR>
</TABLE></CENTER>
<br><br>
<font size="5">Veuillez saisir ci-dessous les informations utiles à votre connexion :</font>
<br><br><br>
<form method="post" action="noname1.php">
<p align="center"><font size="5">Login : </font><input type="text" name="loginadmin" value=""/><br><br>
<font size="5">Mot de passe : </font><input type="password" name="passwordadmin" value=""/><br><br>
<font size="5"><input type="submit" value="Valider"/>
</p>
</form>
</body>
voila je comprends pas et je commence à saturer la...lol
<body onLoad="tictac()">
<p align="right"><img src="68/c0.gif" name="a" width="16" height="21"><img src="68/c0.gif" name="b" width="16" height="21"><img src="68/colon.gif" name="c" width="9" height="21"><img src="68/c0.gif" name="d" width="16" height="21"><img src="68/c0.gif" name="e" width="16" height="21"><img src="68/colon.gif" name="f" width="9" height="21"><img src="68/c0.gif" name="g" width="16" height="21"><img src="68/c0.gif" name="h" width="16" height="21">
<br><br><br>
</p>
<CENTER><TABLE border=1>
<TR>
<TD><p align="center"><b><font size="10" face ="impact">ADMINISTRATION</font></b></p></TD>
</TR>
</TABLE></CENTER>
<br><br>
<font size="5">Veuillez saisir ci-dessous les informations utiles à votre connexion :</font>
<br><br><br>
<form method="post" action="noname1.php">
<p align="center"><font size="5">Login : </font><input type="text" name="loginadmin" value=""/><br><br>
<font size="5">Mot de passe : </font><input type="password" name="passwordadmin" value=""/><br><br>
<font size="5"><input type="submit" value="Valider"/>
</p>
</form>
</body>
voila je comprends pas et je commence à saturer la...lol
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
15 avril 2010 à 20:15
15 avril 2010 à 20:15
rajoute name= dans ton bouton submit:
ensuite voir commentaires ci dessous:
<body onLoad="tictac()"> <p align="right"><img src="68/c0.gif" name="a" width="16" height="21"><img src="68/c0.gif" name="b" width="16" height="21"><img src="68/colon.gif" name="c" width="9" height="21"><img src="68/c0.gif" name="d" width="16" height="21"><img src="68/c0.gif" name="e" width="16" height="21"><img src="68/colon.gif" name="f" width="9" height="21"><img src="68/c0.gif" name="g" width="16" height="21"><img src="68/c0.gif" name="h" width="16" height="21"> <br><br><br> </p> <CENTER><TABLE border=1> <TR> <TD><p align="center"><b><font size="10" face ="impact">ADMINISTRATION</font></b></p></TD> </TR> </TABLE></CENTER> <br><br> <font size="5">Veuillez saisir ci-dessous les informations utiles à votre connexion :</font> <br><br><br> <form method="post" action="noname1.php"> <p align="center"><font size="5">Login : </font><input type="text" name="loginadmin" value=""/><br><br> <font size="5">Mot de passe : </font><input type="password" name="passwordadmin" value=""/><br><br> <font size="5"><input type="submit" name="valider" value="Valider"/> </p> </form> </body>
ensuite voir commentaires ci dessous:
<?php $maconnexion =mysql_connect("localhost","root","geronimo")or die("Connexion au serveur impossible ".mysql_error()); $db=mysql_select_db("Lycee",$maconnexion)or die("Sélection de la base de données impossible ".mysql_error()); if(isset($_POST['valider'])){ //le formulaire a été posté if(empty($_POST['loginadmin']) && empty($_POST['passwordadmin'])){ //si l'utilisiateur n'a pas saisi les 2 echo 'Vous devez saisir un login et un mot de pass !'; }else{ //les deux ne sont pas vide on identifie //on passe par la fonction mysql_real_escape_string pour sécuriser par rapport aux injections mysql (ça met des \ la ou il faut) $loginadmin=mysql_real_escape_string($_POST['loginadmin'],$maconnexion); $passadmin=mysql_real_escape_string($_POST['passwordadmin'],$maconnexion); // la il y avait passadmin au lieu de passwordadmin //c'est pour cla que tu avait le message d'erreur: Undefined index: passadmin } //verification en une seule requette que login existe dans la BDD //test de la forme login='valeur_login' $Requete1="SELECT loginadmin,passwordadmin FROM Administration WHERE loginadmin ='".$loginadmin."' "; $Resultat1=mysql_query($Requete1)or die("Pb avec la requette ".mysql_error()); $Num1=mysql_num_rows($Resultat1); if($Num1>=1) { $Requete2="SELECT passwordadmin FROM Administration WHERE passwordadmin ='".$passwordadmin."' AND loginadmin ='".$loginadmin."' "; $Resultat2=mysql_query($Requete2)or die("impossible d'executer la requête 2 ".mysql_error()); $Num2=mysql_num_rows($Resultat2); if($Num2==1){ header("Location:form_prof.htm"); }else{ header("Location:connexion_form1.html"); } }else{ header("Location:connexion_form2.html"); } } ?>
12 avril 2010 à 23:23