Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
J'ai tenté de nombreuses syntaxes en cherchant sur différents forums mais sans succès...
MON PROBLEME :
j ai un formulaire avec des données utilisateurs (nom, prenom...).
Je n'arrive pas à les modifier par les valeurs entrées par l'utilisateur
Mon code pour le formulaire :
A partir de ce formulaire, l'utilisateur peut modifier les données puis cliquer sur le bouton "Modifier" pour mettre à jour les données.
Le bouton "Modifier" reconduit vers ce code :
C'est à ce niveau que je bloque :
1
$sql = "UPDATE membres SET nom = 'Nom modifié par l'utilisateur', prenom = 'prenom modifié par l'utilisateur' WHERE id = '$id' ";
Au lieu de 'Nom modifié par l'utilisateur' je voudrais mettre ce qu'a entré l'utilisateur dans le formulaire ;-)
Comme je l'ai dit, j ai utilisé de nombreuses syntaxes (par ex : nom ="'. $nom. '" ...) mais sans jamais y parvenir
Si vous avez possibilité de m'aiguiller ce serait top (je suis dessus depuis plus d'une semaine j'avoue que j'aimerais passer à autre chose ;-) )
Bon dimanche !
PS : Je me demande s'il faudrait pas que je crée des nouvelle variable après le formulaire du genre :
$nouveaunom = $nom ;
où $nom serait la valeur écrite par l'utilisateur et du coup récupérer "$nouveaunom" pour update ma bdd.
cela vous semble t il correct ?
par dans la maniere de l'ecrire, je n'ai pas trop d'idée :-/
Hors ligne
Bonjour,
Le formulaire étant soumis avec la méthode POST, les informations qu'il contient sont logiquement dans le tableau $_POST.
Ainsi, un echo de $_POST['nom'] devrait te confirmer que celui ci contient le nom que tu veux dans le update.
Attention cependant, ces valeurs viennent de l'utilisateur, il faut donc s'en méfiier et les vérifier / sécuriser. Sinon un petit malin va mettre comme nom un truc du genre moi'; DROP DATABASE....; et paf, y'a plus de bdd !
A noter également que d'un point de vue optimisation, le while n'est pas nécessaire (à priori le select ne retourne qu'un utilisateur, enfin j'espère !), $data = mysqli_fetch_array($Result); serait suffisant, de même que les nombreuses variables créées dans le while ne sont pas nécessaire, on peut directement utiliser le $data, exemple :
Ok, je chipote, mais chipote + chipote + chipote = site plus rapide (surtout si on a ce genre de choses dans un boucle, un simple appel a une fonction sur 2000 ou 3000 tours, ça peut faire des gros morceaux de secondes
@+
la v2, c'est tabou, on en viendra tous a bout
Hors ligne
je vais chipoter aussi, mysql n'exécute pas plusieurs requetes qui sont à la suite, à l'inverse d'autre moteur de bdd.
Chipotons alors
En l'occurence si, mysql exécute très bien plusieurs requêtes à la suite, le séparateur étant ; un simple test en ligne de commande fonctionne très bien
Par contre il est vrai que les fonctions mysql/mysqli de php ne supportent à priori pas cette syntaxe, mon raccourci était un peu rapide. Reste que les injections SQL sont loin d'être une illusion, il faut s'en protéger....
@+
la v2, c'est tabou, on en viendra tous a bout
Hors ligne
Pages :: 1