[PHP] Update dans un formulaire
Tom
-
Tom -
Tom -
Bonjour,
J'essaye de pouvoir modifier les données de ma BDD depuis un formulaire, j'ai bien chercher sur CCM mais toutes les explications potentielle sont trop compliqué pour moi ...
J'ai sur ma page : image.php?var=552 :
Ce code ne marche pas actuellement, la problemme vient apparement du mysql_query
Merci de m'aider a modifier ma BDD grâce à ce formulaire
.
J'essaye de pouvoir modifier les données de ma BDD depuis un formulaire, j'ai bien chercher sur CCM mais toutes les explications potentielle sont trop compliqué pour moi ...
J'ai sur ma page : image.php?var=552 :
<?php if (isset($_POST['image']) ) // Si les variables existent { // D'abord, on se connecte à MySQL include("connexion.php"); // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité $image = mysql_real_escape_string(htmlspecialchars($_POST['image'])); // Ensuite on enregistre le message mysql_query("UPDATE Table SET image='$image' WHERE id='".$_GET['var']."' "); } // Tout d'abord le formulaire : ?> <FORM method=post action="film_edit.php"> <TABLE BORDER=0> <TR> <TD>Images</TD> <TD> <TEXTAREA rows="1" cols="40" name="image"></TEXTAREA> </TD> </TR> <TR> <TD COLSPAN=2> <br><br><INPUT type="submit" value="Envoyer"> </TD> </TR> </TABLE> </FORM>
Ce code ne marche pas actuellement, la problemme vient apparement du mysql_query
Merci de m'aider a modifier ma BDD grâce à ce formulaire
.
A voir également:
- [PHP] Update dans un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
8 réponses
Bonjour
Le code de traitement de ton formulaire if (isset($_POST['image']) etc...
semble être dans ta page image.php?var=552 d'après ce que tu dis.
Mais il devrait être dans ta page "film_edit.php" car c'est ce script qui traite ton formulaire. C'est ce que veut dire le action="film_edit.php" dans la balise <form>
De plus, post devrait être entre " dans ta balise <form method="post" ...
Pour voir s'il y a des problèmes au niveau du mysql_query, ajoute à la fin entre la ) et le ; :
or die (mysql_error());
ça te dira s''il y a une erreur dans la requête
Le code de traitement de ton formulaire if (isset($_POST['image']) etc...
semble être dans ta page image.php?var=552 d'après ce que tu dis.
Mais il devrait être dans ta page "film_edit.php" car c'est ce script qui traite ton formulaire. C'est ce que veut dire le action="film_edit.php" dans la balise <form>
De plus, post devrait être entre " dans ta balise <form method="post" ...
Pour voir s'il y a des problèmes au niveau du mysql_query, ajoute à la fin entre la ) et le ; :
or die (mysql_error());
ça te dira s''il y a une erreur dans la requête
je viens d'essayer :
mais ça ne fonctionne pas non plus.
une idée ?
mysql_query("UPDATE Table SET image='$image' WHERE id=".$_GET['var']." ");
mais ça ne fonctionne pas non plus.
une idée ?
N'essaye pas d'ajouter ou d'ôter des apostrophes pour faire plaisir à quelqu'un qui te te demande : tu dois en mettre s'il en faut, et ne pas en mettre s'il n'en faut pas. La règle est très simple : si le champ est un nombre, tu peux t'en passer, si c'est autre chose (un texte), tu en mets. D'ailleurs, même si c'est un nombre, tu peux en mettre en fait.
Le code que tu présentes est-il dans image.php?var=552 , dans film_edit.php ou en partie dans l'un et dans l'autre ?
De toutes façons, tu as un problème dans ton form action=film_edit.php : quand tu envoies le formulaire, tu appelles film_edit.php alors qu'il faudrait appeler film_edit.php?var=552, sinon $_GET['var'] n'est plus défini quand tu traites le formulaire
Le code que tu présentes est-il dans image.php?var=552 , dans film_edit.php ou en partie dans l'un et dans l'autre ?
De toutes façons, tu as un problème dans ton form action=film_edit.php : quand tu envoies le formulaire, tu appelles film_edit.php alors qu'il faudrait appeler film_edit.php?var=552, sinon $_GET['var'] n'est plus défini quand tu traites le formulaire
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionN'essaye pas d'ajouter ou d'ôter des apostrophes pour faire plaisir à quelqu'un qui te te demande
Bon ben ok je dis plus rien -_-
je me suis trompé en collant le script ici , en fait j'ai sur ma page image.php?var=552 :
J'ai modifier ce que vous m'avez dit, mais, le probleme ne vient pas du formulaire mais de la ligne 61 soit la ligne du mysql_query ... ( si j'enleve les " j'ai une `T_STRING' error | et si je met les " j'ai une parse error )
Merci de m'aider
.
<?php if (isset($_POST['image']) ) // Si les variables existent { include("connexion.php"); $image = mysql_real_escape_string(htmlspecialchars($_POST['image'])); // Ensuite on enregistre le message mysql_query("UPDATE Table SET image='$image' WHERE id=".$_GET['var']." ") or die (mysql_error()); } // Tout d'abord le formulaire : ?> <FORM method="post" action="image.php"> <TABLE BORDER=0> <TR> <TD>Images</TD> <TD> <TEXTAREA rows="1" cols="40" name="image"></TEXTAREA> </TD> </TR> <TR> <TD COLSPAN=2> <br><br><INPUT type="submit" value="Envoyer"> </TD> </TR> </TABLE> </FORM>
J'ai modifier ce que vous m'avez dit, mais, le probleme ne vient pas du formulaire mais de la ligne 61 soit la ligne du mysql_query ... ( si j'enleve les " j'ai une `T_STRING' error | et si je met les " j'ai une parse error )
Merci de m'aider
.
Non, il n'y a pas de parse error dans cette ligne :
mysql_query("UPDATE Table SET image='$image' WHERE id=".$_GET['var']." ") or die (mysql_error());
D'ailleurs, personne n'a parlé d'ôter les " mais les apostrophes qui entourent la valeur qu'il y a après id=
As-tu lu mon explication du message 4 ? Dans le traitement du formulaire, tu utilises la valeur $_GET['var']
Mais le formulaire n'envoie pas cette valeur : tu ne risques pas de la retrouver.
mysql_query("UPDATE Table SET image='$image' WHERE id=".$_GET['var']." ") or die (mysql_error());
D'ailleurs, personne n'a parlé d'ôter les " mais les apostrophes qui entourent la valeur qu'il y a après id=
As-tu lu mon explication du message 4 ? Dans le traitement du formulaire, tu utilises la valeur $_GET['var']
Mais le formulaire n'envoie pas cette valeur : tu ne risques pas de la retrouver.