[PHP/SQL] Cellule identique à celle de la bdd
Résolu/Fermé
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
-
Modifié par MastercroW le 30/10/2010 à 15:33
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 - 31 oct. 2010 à 00:46
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 - 31 oct. 2010 à 00:46
Bonjour,
Je n'ai pas trouvé beaucoup de choses sur le net, donc je viens poser ma question ici.
Alors voilà j'ai un formulaire avec tout ce qu'il faut pour changé une cellule dans ma table (modification pour changer d'e-mail)
Tout se passe comme il faut, mais à ce formulaire j'ai joins un champs "password" pour vérifier qu'il connaît bien son mot de passe !
Donc la question, comment fait-t'on pour vérifier que la cellule est identique à celle de la base de donnée ?
Je n'ai pas trouvé beaucoup de choses sur le net, donc je viens poser ma question ici.
Alors voilà j'ai un formulaire avec tout ce qu'il faut pour changé une cellule dans ma table (modification pour changer d'e-mail)
Tout se passe comme il faut, mais à ce formulaire j'ai joins un champs "password" pour vérifier qu'il connaît bien son mot de passe !
Donc la question, comment fait-t'on pour vérifier que la cellule est identique à celle de la base de donnée ?
A voir également:
- [PHP/SQL] Cellule identique à celle de la bdd
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Easy php - Télécharger - Divers Web & Internet
- Verrouiller cellule excel - Guide
- Site identique a coco - Accueil - Réseaux sociaux
7 réponses
Bonjour,
Admettons 2 champs de formulaire nommés email et passe.
Après le post du formulaire tu vérifies dans la table que le mot de passe existe. Si il existe, tu update le champ email associé au mot de passe, dans le cas contraire (mot de passe inexistant dans la table) tu n'update pas le champ email.
Voilà en résumé ce que ton script est censé réaliser...
@+
Admettons 2 champs de formulaire nommés email et passe.
Après le post du formulaire tu vérifies dans la table que le mot de passe existe. Si il existe, tu update le champ email associé au mot de passe, dans le cas contraire (mot de passe inexistant dans la table) tu n'update pas le champ email.
Voilà en résumé ce que ton script est censé réaliser...
@+
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
30 oct. 2010 à 16:14
30 oct. 2010 à 16:14
Et sa donne quoi niveau codage en PHP ?
HTML :
Script PHP :
Email <imut type="text" name="email" value="" /> Mot de passe <input type="password" name="passe" value="" />
Script PHP :
$query = mysql_query("SELECT FROM table WHERE mdp=".$_POST['passe']); if(mysql_num_rows($query) != 0) { mysql_query("UPDATE table SET email=".$_POST['email']." WHERE mdp=".$_POST['passe']); } else { echo "Aïe ! Le mot de passe n'est pas valable."; } mysql_free_result($query);
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
30 oct. 2010 à 16:47
30 oct. 2010 à 16:47
Merci de ta réponse j'ai fait quelques modifications mais ça ne marche pas.
$newEmail = mysql_real_escape_string(htmlspecialchars(trim($_POST['newEmail']) ) ); $newEmailVerify = mysql_real_escape_string(htmlspecialchars(trim($_POST['newEmailVerify']) ) ); $password = mysql_real_escape_string(htmlspecialchars(trim($_POST['password']) ) ) $query = mysql_query("SELECT FROM account_db WHERE Password = '$password' "); if(mysql_num_rows($query) != 0) { mysql_query("UPDATE account_db SET Email= '$newEmail' WHERE Password = '$password'"); } else { echo "Aïe ! Le mot de passe n'est pas valable."; } mysql_free_result($query);
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
30 oct. 2010 à 17:49
30 oct. 2010 à 17:49
Il y a aucun erreur de syntaxe, si tu veux rien ne s'affiche.
$query = mysql_query("SELECT FROM account_db WHERE Password='".$password."'")or die(mysql_error()); if(mysql_num_rows($query) != 0) { mysql_query("UPDATE account_db SET Email='".$newEmail."' WHERE Password='".$password."'")or die(mysql_error()); } else { echo "Aïe ! Le mot de passe n'est pas valable."; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
30 oct. 2010 à 20:38
30 oct. 2010 à 20:38
Problème niveau SQL syntaxe :
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 'FROM account_db WHERE Password='481'' at line 1
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
Modifié par MastercroW le 30/10/2010 à 20:44
Modifié par MastercroW le 30/10/2010 à 20:44
Aussi j'oubli, il y avait un problème avec le CSS pour ça rien ne s'affichait. Mais bon voici le code d'erreur (et la source)
Ligne 194 : if(mysql_num_rows($query) != 0) {
Ligne 199 : mysql_free_result($query);
$query = mysql_query("SELECT FROM account_db WHERE Password = '$password' "); if(mysql_num_rows($query) != 0) { mysql_query("UPDATE account_db SET Email= '$newEmail' WHERE Password = '$password'"); } else { echo "Aïe ! Le mot de passe n'est pas valable."; } mysql_free_result($query);
Ligne 194 : if(mysql_num_rows($query) != 0) {
Ligne 199 : mysql_free_result($query);
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in changEmail.php on line 194 Aïe ! Le mot de passe n'est pas valable. Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in changEmail.php on line 199
Ce code fonctionne (testé avec une table nommée account_db et 3 champs id, Password et Email)
L'update de l'email s'effectue correctement lorsque le mot de passe a été trouvé dans la table.
Bonne continuation...
$query = mysql_query("SELECT Password FROM account_db WHERE Password='".$password."'")or die(mysql_error()); if(mysql_num_rows($query) != 0) { mysql_query("UPDATE account_db SET Email='".$newEmail."' WHERE Password='".$password."'")or die(mysql_error()); } else { echo "Aïe ! Le mot de passe n'est pas valable."; }
L'update de l'email s'effectue correctement lorsque le mot de passe a été trouvé dans la table.
Bonne continuation...
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
31 oct. 2010 à 00:46
31 oct. 2010 à 00:46
Ok donc merci je vais voir ce que je peux faire x)