Comment authentifier en php
stephane_mc2004
Messages postés
807
Statut
Membre
-
stephane_mc2004 Messages postés 807 Statut Membre -
stephane_mc2004 Messages postés 807 Statut Membre -
Bonjour,
jai un gros pb :
Jai une page login.html, qui contient le formulaire de demande de compte et mot de passe. l'action du formulaire est login/index.php
Dans l'index.php, on me signale une erreur, voici mon code :
Merci
jai un gros pb :
Jai une page login.html, qui contient le formulaire de demande de compte et mot de passe. l'action du formulaire est login/index.php
Dans l'index.php, on me signale une erreur, voici mon code :
<?php
/*Copyright MasterClub--2008 */
if (isset($_POST['compte']) && isset($_POST['mdpasse']) )
{
/*On considere que le user a lancé ses coordonnées___
on verifie si sa appartient a la bbdonnée
*/
$compte=$_POST['compte'];
$mdpasse=$_POST['mdpasse']
//Connexion à la base
mysql_connect("localhost","root","****");
mysql_select_db("users");
$reponse = mysql_query("SELECT * FROM mytable"); // Requête SQL
//////////////////////////////
while ($donnees = mysql_fetch_array($reponse) )
{
if ($donnees['compte']!= $compte && $donnees['mdpasse']!= $mdpasse) { echo "erreur"; }
else { echo "bienvenue" ; }
break;
}
// on ferme la connexion mysql
mysql_close();
?>
Merci
Configuration: Windows XP Firefox 3.0.3
4 réponses
-
Bonsoir,
if ($donnees['compte']!= $compte && $donnees['mdpasse']!= $mdpasse) { echo "erreur"; }
dans un test négatif (!=) il faut mettre OU au lieu de AND (c'est à dire || au lieu de &&)
if ($donnees['compte']!= $compte || $donnees['mdpasse']!= $mdpasse) { echo "erreur"; }
une autre solution:
$reponse = mysql_query("SELECT * FROM mytable WHERE compte='".$compte."' AND mdpasse='".$mdpasse."'"); // Requête SQL if(mysql_num_rows($reponse)>0){// si un enregistrement correspond echo "bienvenue"; }else{ echo "erreur" ; exit(); } -
Vaudrait mieux pas rajouter des addslashes également pour éviter quelques tentatives simple de hacking ?
$compte=addslashes($_POST['compte']);
?-
le mieux c'est encore d'appliquer une Regex pour verifier que ce qu'on reçoit correspond bien à ce qu'on attend
pour le compte par exemple des lettres et des chiffres [a-zA-Z0-9] et combien mini et maxi
pour le mail il existe des Regex toutes faites
www.siteduzero.com pour plus de détails et mise en œuvre
@lain
-
-
Regex , j'aime pas mais pratique dans certains cas ...
Sinon siteduzero +1 ! -
Merci pour vos reponses ! Sinon, lorsque je teste en local le code, rien ne s'affiche sur la page, au lieu que sa affiche "bienvenue" ou "erreur".
je travaille avec Wamp Server
Merci encore