Comment authentifier en php
stephane_mc2004
Messages postés
755
Date d'inscription
Statut
Membre
Dernière intervention
-
stephane_mc2004 Messages postés 755 Date d'inscription Statut Membre Dernière intervention -
stephane_mc2004 Messages postés 755 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Comment authentifier en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php ✓ - Forum PHP
- Php alert - Forum PHP
- Authentifier ticket transcash ✓ - Forum Consommation & Internet
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 &&)
une autre solution:
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']);
?
$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
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