Php/mysql
Résolu
thomason
Messages postés
91
Date d'inscription
Statut
Membre
Dernière intervention
-
PeterPeterPeter Messages postés 202 Date d'inscription Statut Membre Dernière intervention -
PeterPeterPeter Messages postés 202 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veux vérifier le login et le mot de passe dans ma base
que j'ai créée sur mysql
voici le code que j'ai commencé
<?php
$bdd = "projet";
$host= "localhost";
$user= "root";
$pass= "";
if (mysql_connect($host,$user,$pass)){
echo'connection réussie.<br>';
}
else {
echo '"Impossible de se connecter à la base de données"'.mysql_error(); }
if(mysql_select_db('projet')){
echo' bd choisie';
}
else{
echo'"erreur"'.mysql_error();
}
$log=$_POST["login"];
$pass=$_POST["password"];
$requete= " SELECT login , password FROM user WHERE (login='$log' AND password='$pass' )";
$resultat=mysql_query($requete) or die ('erreur'.$requete.'' .mysql_error());
?>
je veux vérifier le login et le mot de passe dans ma base
que j'ai créée sur mysql
voici le code que j'ai commencé
<?php
$bdd = "projet";
$host= "localhost";
$user= "root";
$pass= "";
if (mysql_connect($host,$user,$pass)){
echo'connection réussie.<br>';
}
else {
echo '"Impossible de se connecter à la base de données"'.mysql_error(); }
if(mysql_select_db('projet')){
echo' bd choisie';
}
else{
echo'"erreur"'.mysql_error();
}
$log=$_POST["login"];
$pass=$_POST["password"];
$requete= " SELECT login , password FROM user WHERE (login='$log' AND password='$pass' )";
$resultat=mysql_query($requete) or die ('erreur'.$requete.'' .mysql_error());
?>
A voir également:
- Php/mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
2 réponses
je te conseillerais plutot de faire comme ça :
$log=$_POST["login"]; $pass=$_POST["password"]; $requete= " SELECT password FROM user WHERE login='$log'"; $resultat=mysql_query($requete) or die ('erreur '.$requete.' '.mysql_error()); $tabReponse= mysql_fetch_row($resultat); if ($tabReponse['password'] == $pass) echo 'le mot de passe est bon'; else echo 'erreur, mauvais mot de passe';
Et ne pas oublier pour éviter les injections sql/xss :
Je te conseille aussi de crypter tes mots de passe lors de l'insertion dans ta BDD par exemple avec md5() puis tu compares le hachage md5 avec celui de ta BDD.
Seul problème avec ce système, c'est que t'es obligé de regénérer un mot de passe si un utilisateur l'a perdu.
$log = mysql_real_escape_string(htmlspecialchars($_POST['login'])); $pass = mysql_real_escape_string(htmlspecialchars($_POST['password']));
Je te conseille aussi de crypter tes mots de passe lors de l'insertion dans ta BDD par exemple avec md5() puis tu compares le hachage md5 avec celui de ta BDD.
Seul problème avec ce système, c'est que t'es obligé de regénérer un mot de passe si un utilisateur l'a perdu.
if ($tabReponse[0] == $pass) echo 'le mot de passe est bon';
else echo 'erreur, mauvais mot de passe';
mais comment vais-je crypter le mot de passe?
edit : sachant que le $tabReponse[0] provient de la base de donnée et donc devra déjà etre crypté par md5
tu aura donc un truc dans ce genre pour l'inscription
$pass = md5($_POST[pass])
mysql_query(insert $pass into etc ...)
ps : bravo pour avoir corrigé mon erreur ^^
habituelement j'utilisais mysql_fetch_array donc ça aurait été ['password'] mais la j'ai mis fetch row donc ça doit etre [0] comme tu as trouvé
ps2 :
bien sur il faut aussi garder comme l'as dit je sais plus qui juste en dessous
au lieu de pour le pass c'est bon puisqu'il sera crypté