modifier des données sql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : modifier des données sql

par taz1 » 17 août 2005, 21:40

j'ai resolu le problemr en mettant POST au lieu de GET

par Cyrano » 17 août 2005, 20:50

Donc tu ne récupères rien: le problème est donc dans la page précédente : comment envoies-tu les données ?

par taz1 » 17 août 2005, 18:15

non l'url c'est modf.php c'est tout

par Cyrano » 17 août 2005, 18:04

... tu la récupères en $_GET, dans l'url, vois-tu bien le bon numéro de ligne ?

par taz1 » 17 août 2005, 17:59

Code : Tout sélectionner

<?php // recureration des valeurs $id = intval( $_GET['id'] ); // connexion à la base $db = mysql_connect('localhost', 'femina', 'tazmanie') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('hcflch3',$db) or die('Erreur de selection '.mysql_error()); echo($id); $res="UPDATE fiche SET Url_photo='". $Url_photo ."', Num_maillot='". $Num_maillot ."', Nom='". $Nom ."', Prenom='". $Prenom ."', D_naiss='". $D_naiss ."', Hobby='". $Hobby ."', Ou_av='". $Ou_av ."', Depuis='". $Depuis ."', Position='". $Position ."' WHERE id = ". $id; mysql_query($res); echo ($res); echo 'Modification enregistrée'; mysql_close(); // on ferme la connexion ?>
voila comment j'ai monté un peut ce code

par Cyrano » 17 août 2005, 17:49

remonte alors plus haut dans le code : où est initialisée cette variable ? tu la récupères en $_GET, dans l'url, vois-tu bien le bon numéro de ligne ?

par taz1 » 17 août 2005, 17:47

non j'envoie juste l'id nimeraire .
j'ai fait l'echo et s'a me renvoie 0 je comprend pas pq ??

par Cyrano » 17 août 2005, 17:41

J'ai fait une erreur dans la correction de la requête:
$res="UPDATE fiche SET Url_photo='". $Url_photo ."', Num_maillot='". $Num_maillot ."', Nom='". $Nom ."', Prenom='". $Prenom ."', D_naiss='". $D_naiss ."', Hobby='". $Hobby ."', Ou_av='". $Ou_av ."', Depuis='". $Depuis ."', Position='". $Position ."'  WHERE id = ". $id;
Là, ça devrait être mieux.

par Cyrano » 17 août 2005, 17:40

alors fais afficher ta variable $id avant la requête pour vérifier que la valeur correspond bien à ce que tu veux modifier. Par contre pourquoi utiliser intval ? Envoies-tu autre chose qu'un entier dans ce paramètre ?

par taz1 » 17 août 2005, 17:24

et pourtant avant la connection j'ai mis
$id = intval( $_GET['id'] );

par Invité » 17 août 2005, 17:22

ou la la concatenation connais pas bien moi loll mais merci
par contre j'ai toujours un probléme j'ai fait un echo() de la requete comme tu l'a prescrit plus haut alors il me note comme quoi il fait les modif mais sur l'id 0 et je n'ai pas d'id 0 en fait il ne modifie pas la ligne en rapport avec l'id

par Cyrano » 17 août 2005, 17:11

Si tu avais suivi un conseil que j'ai mentionné plus haut, tu aurais vu que ta requête avait l'air bisarre en envoyant des variables telles quelles au lieu d'en envoyer la valeur.
saye donc comme ceci et regarde la différence d'écriture:
$res="UPDATE fiche SET Url_photo='". $Url_photo ."', Num_maillot='". $Num_maillot ."', Nom='". $Nom ."', Prenom='". $Prenom ."', D_naiss='". $D_naiss ."', Hobby='". $Hobby ."', Ou_av='". $Ou_av ."', Depuis='". $Depuis ."', Position='". $Position ."'  WHERE id = '". $id;
On appelle ça la concaténation de chaine. Je dois le dire entre 4 et 10 fois par jour sur le forum. Je suis maniaque avec ça, mais c'est la source de 80% des erreurs qui pourraient être évitées avec un minimum de rigueur dans la programmation.

par taz1 » 17 août 2005, 17:02

C'est bon j'ai trouvé l'erreur... En fait il modifiait bien, mais dans le vide. En effet, je l'envoyais vers ?mode=editer, mais j'avais pas spécifié l'id. Avec ?mode=editer&id=5, ca marche =)
Merci pour votre aide ;)
tu arriverais a me montrer ton code car moi j'essaie depuis 2 jours et aucun resultat grrrrrrrrrr.
je recupere les infos a modifier dans un formulaire

Code : Tout sélectionner

// recureration des valeurs $id = intval( $_GET['id'] ); // connexion à la base $db = mysql_connect('xxxxx') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('hcflch3',$db) or die('Erreur de selection '.mysql_error()); $res='SELECT Url_photo,Num_maillot,Nom,Prenom,D_naiss,Hobby,Depuis,Ou_av,Position FROM fiche WHERE id = ' . $id; $result = mysql_query($res) or die(mysql_error()); $row=mysql_fetch_assoc($result); ?> <form id="FormName" action="modif.php" method="POST" name="FormName"> <table> <tr> <td><label>Nom:</label></td> <td><input type="text" name="Nom" value="<? echo $row['Nom']?>" size="24"/></td> </tr> <tr> <td><label>Prenom:</label></td> <td><input type="text" name="Prenom" value="<? echo $row['Prenom']?>"size="24"/></td> </tr> <td><label>Dates de Naissance:</label></td> <td><input type="text" name="D_naiss" value="<? echo $row['D_naiss']?>" size="24"/></td> </tr> <td><label>Hobby:</label></td> <td><input type="text" name="Hobby" value="<? echo $row['Hobby']?>" size="24"/></td> </tr> <td><label>Ancien club:</label></td> <td><input type="text" name="Ou_av" value="<? echo $row['Ou_av']?>" size="24"/></td> </tr> <td><label>Depuis:</label></td> <td><input type="text" name="Depuis" value="<? echo $row['Depuis']?>" size="24"/></td> </tr> <td><label>Numero:</label></td> <td><input type="text" name="Num_maillot" value="<? echo $row['Num_maillot']?>" size="24"/></td> </tr> <td><label>Url Photo:</label></td> <td><input type="text" name="Url_photo" value="<? echo $row['Url_photo']?>" size="24"/></td> </tr> <td><label>Position:</label></td> <td><input type="text" name="Position" value="<? echo $row['Position']?>" size="24"/></td> </tr> <tr> <td><input type="submit" name="submitButtonName"/></td> </tr> </table> <? mysql_close(); // on ferme la connexion ?>
et j'envoie tout ca sur un fichier "modif.php"

Code : Tout sélectionner

// connexion à la base $db = mysql_connect('xxxx') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('hcflch3',$db) or die('Erreur de selection '.mysql_error()); $res='UPDATE fiche SET Url_photo="$Url_photo", Num_maillot="$Num_maillot", Nom="$Nom", Prenom="$Prenom", D_naiss="$D_naiss", Hobby="$Hobby", Ou_av="$Ou_av", Depuis="$Depuis", Position="$Position" WHERE id = ' . $id; mysql_query($res); echo 'Modification enregistrée'; mysql_close(); // on ferme la connexion ?>
mais ca ne me modifie pas les données
si ont pouvais m'aider se serais genial

par Ðjehouty » 03 août 2005, 15:55

lol :D
Juste un dernière question: quand je fais modifier, le texte qui apparaît dans l'input comporte pleins de <br /> lorsque le texte va à la ligne. Comment puis-je les supprimer? :?

par Cyrano » 03 août 2005, 11:51

:langue: