Update MySQL
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
le père -
le père -
Bonjour,
J'ai un problème sur d'édition sur ce bout de code :
Il ne modifie rien, ni le mot de passe ni les éléments renseignés.
Pouvez-vous m'aider à résoudre ce problème svp ?
J'ai un problème sur d'édition sur ce bout de code :
Il ne modifie rien, ni le mot de passe ni les éléments renseignés.
<?php include("../conf.php"); include("../fonctions.php"); include("../verif.php"); if (empty($_GET["idadmin"])) { header("location: utilisateur.php"); exit(); } $idadmin = $_GET["idadmin"]; $r = mysql_query("select * from Adm_Connection where idadmin='$idadmin';"); if (mysql_num_rows($r)==0) { header("location: utilisateur.php"); exit(); } $login = mysql_result($r,0,"login"); $email = mysql_result($r,0,"email"); $prenom = mysql_result($r,0,"prenom"); $nom = mysql_result($r,0,"nom"); $site = mysql_result($r,0,"site"); $msn = mysql_result($r,0,"msn"); $aim = mysql_result($r,0,"aim"); $yahoo = mysql_result($r,0,"yahoo"); $jabber = mysql_result($r,0,"jabber"); $gmail = mysql_result($r,0,"gmail"); $renseignements = mysql_result($r,0,"renseignements"); if (isset($_POST["action"]) && $_POST["action"] == "send") { $nouveau = $_POST["nouveau"]; $confirmation = $_POST["confirmation"]; $email = $_POST["email"]; $prenom = $_POST["prenom"]; $nom = $_POST["nom"]; $site = $_POST["site"]; $msn = $_POST["msn"]; $aim = $_POST["aim"]; $yahoo = $_POST["yahoo"]; $jabber = $_POST["jabber"]; $gmail = $_POST["gmail"]; $renseignements = $_POST["renseignements"]; if (!okpseudo($nouveau)) { $_GET["msg"] = urlencode("La confirmation du mot de passe n'est pas renseignée."); } else { if (!okpseudo($nouveau)) { $_GET["msg"] = urlencode("La confirmation du mot de passe n'est pas renseignée."); } else { $nouveau = md5($nouveau); $r = mysql_query("UPDATE Adm_Connection SET password='$nouveau', email='$email', prenom='$prenom', '$nom', '$site', '$msn', '$aim', '$yahoo', '$jabber', '$gmail', '$renseignements' where idadmin='$idadmin';"); header("location: editer.php?idadmin=$idadmin&msg=".urlencode("Le mot de passe a été modifié avec succès.")); exit(); } } } ?>
Pouvez-vous m'aider à résoudre ce problème svp ?
A voir également:
- Update MySQL
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Mysql community server - Télécharger - Bases de données
- Wsus offline update - Télécharger - Systèmes d'exploitation
9 réponses
bonjour,
fais un simple echo pour voir si $idadmin a bien la valeur voulu pour la modification.
Si cela n'est pas le cas le problème se situe alors à ce niveau.
fais un simple echo pour voir si $idadmin a bien la valeur voulu pour la modification.
Si cela n'est pas le cas le problème se situe alors à ce niveau.
Oui, "Admin" à la valeur 1 et "Test" à la valeur 4
Donc il lis bien l'enregistrement
c'est plutot l'édition qui ne se prends pas en compte...
Donc il lis bien l'enregistrement
c'est plutot l'édition qui ne se prends pas en compte...
Non, mon problème n'est pas résolu.
Il affiche, mais lorsque j'édite, il n'enregistre toujours pas les modifications.
Il affiche, mais lorsque j'édite, il n'enregistre toujours pas les modifications.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Non, les mots clés de SQL n'ont pas besoin d'être en majuscules.
Par contre, dans l'UPDATE, im faudrait mettre nom='$nom', site='$site', msn='$msn'... au lieu de simplement '$nom', '$site', '$msn'...
Si tu mettais un or mysql_error(); dans l'appel à ta requête, tu aurais eu un message d'erreur qui t'aurait guidé.
Non, les mots clés de SQL n'ont pas besoin d'être en majuscules.
Par contre, dans l'UPDATE, im faudrait mettre nom='$nom', site='$site', msn='$msn'... au lieu de simplement '$nom', '$site', '$msn'...
Si tu mettais un or mysql_error(); dans l'appel à ta requête, tu aurais eu un message d'erreur qui t'aurait guidé.
Super il fonctionne ! hihi
Par contre si je rentre un mauvais mot de passe (cad celui qui n'est pas dans la table, et j'édite ensuite, il prends en compte sans message d'erreur.
Exemple, le mot de passe initial est "123" et j'édite en 321 puis confirme en 321
Il prends en compte l'édition même si j'ai mi en initial 741 et dans l'édition 852 et la confirmation 852.
Y a t-il une solution pour ca svp ?
Par contre si je rentre un mauvais mot de passe (cad celui qui n'est pas dans la table, et j'édite ensuite, il prends en compte sans message d'erreur.
Exemple, le mot de passe initial est "123" et j'édite en 321 puis confirme en 321
Il prends en compte l'édition même si j'ai mi en initial 741 et dans l'édition 852 et la confirmation 852.
Y a t-il une solution pour ca svp ?
Je ne vois pas où est l'ancien mot de passe ni où il est testé.
D'autre part, pourquoi tester 2 fois de suite if (!okpseudo($nouveau)) ?
D'autre part, pourquoi tester 2 fois de suite if (!okpseudo($nouveau)) ?
Oui tu as raison, voilà le code source éditer :
<?php include("../conf.php"); include("../fonctions.php"); include("../verif.php"); if (empty($_GET["idadmin"])) { header("location: utilisateur.php"); exit(); } $idadmin = $_GET["idadmin"]; $r = mysql_query("SELECT * FROM Adm_Connection WHERE idadmin='$idadmin';"); if (mysql_num_rows($r)==0) { header("location: utilisateur.php"); exit(); } $login = mysql_result($r,0,"login"); $email = mysql_result($r,0,"email"); $prenom = mysql_result($r,0,"prenom"); $nom = mysql_result($r,0,"nom"); $site = mysql_result($r,0,"site"); $msn = mysql_result($r,0,"msn"); $aim = mysql_result($r,0,"aim"); $yahoo = mysql_result($r,0,"yahoo"); $jabber = mysql_result($r,0,"jabber"); $gmail = mysql_result($r,0,"gmail"); $renseignements = mysql_result($r,0,"renseignements"); if (isset($_POST["action"]) && $_POST["action"] == "send") { $nouveau = $_POST["nouveau"]; $confirmation = $_POST["confirmation"]; $email = $_POST["email"]; $prenom = $_POST["prenom"]; $nom = $_POST["nom"]; $site = $_POST["site"]; $msn = $_POST["msn"]; $aim = $_POST["aim"]; $yahoo = $_POST["yahoo"]; $jabber = $_POST["jabber"]; $gmail = $_POST["gmail"]; $renseignements = $_POST["renseignements"]; if (!okpseudo($nouveau)) { $_GET["msg"] = urlencode("La confirmation du mot de passe n'est pas renseignée."); } else { $nouveau = md5($nouveau); $r = mysql_query("UPDATE Adm_Connection SET password='$nouveau', email='$email', prenom='$prenom', nom='$nom', site='$site', msn='$msn', aim='$aim', yahoo='$yahoo', jabber='$jabber', gmail='$gmail', renseignements='$renseignements' WHERE idadmin='$idadmin';"); header("location: editer.php?idadmin=$idadmin&msg=".urlencode("Le mot de passe a été modifié avec succès.")); exit(); } } ?>