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
A voir également:
- Comment authentifier en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
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