Comparaison avec mot de passe crypté
maleckk
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
-
marwa -
marwa -
bonjour j'ai un formulaire qui va changer mon mot de passe enregister dans la base
mon travail c'est que je vais entrer dans le formulaire l'ancien mot de passe pui le nouveau mot de passe
mais les mot de passe enregister dans la base sont crypté donc je doit faire un test de comparaison avec le mot de passe enregister et le mot de passe enter par le formulaire moi j'ai fais ce code mais il ne marche pas il n'arrive pas a faire cette comparaison aidez moi svp merci d'avance
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost,$dbuser,$dbpass)or die('error connecting to mysql');
$dbname = 'asta';
mysql_select_db($dbname);
$mot_de_passe=md5($_POST["pass"]);
//pass est la valeur entrer par le formulaire
$sql = "select mot_de_passe from client";
$Clients = mysql_query($sql) or die(mysql_error());
$row_Clients = mysql_fetch_assoc($Clients);
if($row_Clients['mot_de_passe']=$_POST['pass']){
$confirmation=md5($_POST["confirmation"]);
// confirmation est la nouvelle valeur de mot de passe enter par le formulaire
$query="update client set mot_de_passe='$confirmation' WHERE mot_de_passe='$mot_de_passe'";
$result = mysql_query($query) or die(mysql_error());
?><br /><br /><?php echo $query;
}
?>
mon travail c'est que je vais entrer dans le formulaire l'ancien mot de passe pui le nouveau mot de passe
mais les mot de passe enregister dans la base sont crypté donc je doit faire un test de comparaison avec le mot de passe enregister et le mot de passe enter par le formulaire moi j'ai fais ce code mais il ne marche pas il n'arrive pas a faire cette comparaison aidez moi svp merci d'avance
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost,$dbuser,$dbpass)or die('error connecting to mysql');
$dbname = 'asta';
mysql_select_db($dbname);
$mot_de_passe=md5($_POST["pass"]);
//pass est la valeur entrer par le formulaire
$sql = "select mot_de_passe from client";
$Clients = mysql_query($sql) or die(mysql_error());
$row_Clients = mysql_fetch_assoc($Clients);
if($row_Clients['mot_de_passe']=$_POST['pass']){
$confirmation=md5($_POST["confirmation"]);
// confirmation est la nouvelle valeur de mot de passe enter par le formulaire
$query="update client set mot_de_passe='$confirmation' WHERE mot_de_passe='$mot_de_passe'";
$result = mysql_query($query) or die(mysql_error());
?><br /><br /><?php echo $query;
}
?>
A voir également:
- Comparaison avec mot de passe crypté
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
2 réponses
Bonjour,
Déjà dans ta requette tu sélectionne tout les mots de passe de tout les tes clients donc déjà ça ça ne va pas .
Il faut que tu rajoute l'attribue WHERE pour identifier ton client avec son id, son nom ou autres ...
Ensuite tu fait ça
Il vaut mieux que tu fasse ça :
Comme ça tu compare le mot de passe de ta base de donné qui est crypté a celui entré dans le formulaire qui a était crypté pour faire la vérification ...
De plus, la tu ne comparé pas les mots de passe tu disais que $row_Clients['mot_de_passe'] était égale a $_POST['pass'] . En gros tu ne faisais aucune vérification , tu stocké juste une variable dans une autre .
Je te conseille également d'utiliser sha1() comme algorithme de cryptage et pas md5();
Cordialement
Déjà dans ta requette tu sélectionne tout les mots de passe de tout les tes clients donc déjà ça ça ne va pas .
Il faut que tu rajoute l'attribue WHERE pour identifier ton client avec son id, son nom ou autres ...
Ensuite tu fait ça
if($row_Clients['mot_de_passe']=$_POST['pass'])
Il vaut mieux que tu fasse ça :
if($row_Clients['mot_de_passe']==md5($_POST['pass']))
Comme ça tu compare le mot de passe de ta base de donné qui est crypté a celui entré dans le formulaire qui a était crypté pour faire la vérification ...
De plus, la tu ne comparé pas les mots de passe tu disais que $row_Clients['mot_de_passe'] était égale a $_POST['pass'] . En gros tu ne faisais aucune vérification , tu stocké juste une variable dans une autre .
Je te conseille également d'utiliser sha1() comme algorithme de cryptage et pas md5();
Cordialement
maleckk
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
merci je vais essayer avec sa
marwa
sha1() comme algorithme de cryptage
Tu me diras à quoi ça sert de définition la variable $mot_de_passe si tu utilises $_POST['pass'] dans ta condition ...