Erreur formulaire de mot de passe

Eléphanteau du PHP | 21 Messages

20 oct. 2020, 09:58

Bonjour,
j'espère que vous allez bien.

J'ai créé un formulaire qui modifie un mot de passe dans une base, mais il me retourne cette erreur.

Error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''e36b5cc8dfbefe0f8aa32c881213e40b' from utilisateurs WHERE nom='Fernandes' AND p' at line 1

Sauriez-vous pourquoi ??

Le code de la page de traitement :

Code : Tout sélectionner

<?php //session_start(); // Ici on continue la session require('control-session2.php'); include("inc/connexion_utilisateurs.php"); include("inc/fonctions.php"); $nom=$_POST['nom']; $prenom=$_POST['prenom']; $mdp=$_POST['newmdp']; $mdpcrypte= md5('$mdp'); $query="UPDATE passwd='$mdpcrypte' from utilisateurs WHERE nom='$nom' AND prenom='$prenom'"; $result=mysql_query($query) or die('Error:'.mysql_error()); ?>
Je sais que c'est du MD5, mais ce n'est pas moi qui ait fait la base, et il y a déjà plein de mots de passe chiffrés avec ce dernier.

Merci beaucoup pour votre aide
quaresma

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 oct. 2020, 11:00

Bonjour,

Ta requête SQL n'est pas correcte (cf nom de la table mal positionné) :
https://sql.sh/cours/update

Quand tu as une erreur SQL, le mieux pour debuguer c'est d'afficher ta requête et de la tester dans phpmyadmin pour la debuguer.



Par ailleurs, pour information/rappel, les fonctions mysql_* sont obsolètes depuis 2013 et ont même été supprimées de PHP 7 (sorti en 2015).
Du coup, ton serveur doit être ancien donc ton application tourne encore, mais il est urgent de prévoir une grosse mise à jour ou refonte pour passer à mysqli ou PDO.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 21 Messages

20 oct. 2020, 12:39

Merci

Eléphanteau du PHP | 21 Messages

20 oct. 2020, 16:50

Il change bien le mot de passe dans la base, mais il me dit que l'utilisateur est inconnu quand j'essaie de m'authentifier avec le nouveau mot de passe oO

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 oct. 2020, 18:08

Hash ton mot de passe en md5 par exemple ici :
https://www.md5.fr

Puis vérifie dans phpmyadmin que le mot de passe en base de données est bien le même
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2703 Messages

20 oct. 2020, 19:43

si je m'appelle O'Hara, cela ne fonctionne plus.
si je connais le nom et prénom d'un autre utilisateur, je peux modifier son mot de passe.

Eléphanteau du PHP | 21 Messages

20 oct. 2020, 22:27

Hash ton mot de passe en md5 par exemple ici :
https://www.md5.fr

Puis vérifie dans phpmyadmin que le mot de passe en base de données est bien le même
C'est bien le même

Eléphanteau du PHP | 21 Messages

20 oct. 2020, 22:29

si je m'appelle O'Hara, cela ne fonctionne plus.
si je connais le nom et prénom d'un autre utilisateur, je peux modifier son mot de passe.
Quoi ??