Ajout de donnée(BDD) à l'aide d'un formulaire
lucie
-
lucie -
lucie -
Bonjour,
J'ai un petit soucis dans la programmation que je fais. En effet, je fais actuellement un site pour m'amuser et découvrir le monde des développeurs.
Donc voilà, en fait, je suis en train de faire un script qui permettra de remplir un formulaire (en html) et une fois validé, les informations données dans le formulaire seront stocké dans ma base de données (hébergé en local ==> easyphp)
Voici mon code que je n'arrive pas du tout a faire marcher. Mon formulaire s'affiche bien mai quand je valide, et que je vais dans la base de données, voir si les infos ont été stocké, et bien rien ! Je ne comprend pas...
Depuis hier j'essaie mais rien n'y fais..
***Fichier ajouter_stock.html***
<html>
<body>
<h2><center>Ajout d\'un stock</center></h2>
<br>
<center>
<form method="post" action="ajouter_bdd_stock.php">
<table>
<tr>
<td>Num du stock de papier: </td>
<td><input type="text" name="num_stock"></td>
</tr>
<tr>
<td>Libellé du stock de papier: </td>
<td><input type="text" name="nom_stock"></td>
</tr>
<tr>
<td>Description du stock: </td>
<td><input type="text" name="description_stock"></td>
</tr>
<tr>
<td>Nombre de feuille par carton: </td>
<td><input type="text" name="ref_carton_feuille_stock"></td>
</tr>
<tr>
<td>Lieu du stock : </td>
<td><input type="text" name="lieu_stock"></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="envoyer" name="envoi_stock"><input type="reset" value="effacer"></td> </tr>
</table>
</form>
</body>
</html>
***Fichier ajouter_bdd_stock.php***
<?
//Connection à la base de données
// Etablissement de la connexion
$connexion = mysql_connect("local","gasi","ggg");
// Selection de la base test
$selection_base = mysql_select_db("test");
//Requete d'ajout d'un stock
$num_stock=$_POST['num_stock'];
$nom_stock=$_POST['nom_stock'];
$description_stock=$_POST['description_stock'];
$ref_carton_feuille_stock=$_POST['ref_carton_feuille_stock'];
$lieu_stock=$_POST['lieu_stock'];
$sql="INSERT INTO voir_stock VALUES ('num_stock','nom_stock','description_stock','ref_carton_feuille_stock','lieu_stock',)";
mysql_query($sql) or die(mysql_error());
mysql_close();
?>
Votre aide serai la bienvenue
Cordialement
J'ai un petit soucis dans la programmation que je fais. En effet, je fais actuellement un site pour m'amuser et découvrir le monde des développeurs.
Donc voilà, en fait, je suis en train de faire un script qui permettra de remplir un formulaire (en html) et une fois validé, les informations données dans le formulaire seront stocké dans ma base de données (hébergé en local ==> easyphp)
Voici mon code que je n'arrive pas du tout a faire marcher. Mon formulaire s'affiche bien mai quand je valide, et que je vais dans la base de données, voir si les infos ont été stocké, et bien rien ! Je ne comprend pas...
Depuis hier j'essaie mais rien n'y fais..
***Fichier ajouter_stock.html***
<html>
<body>
<h2><center>Ajout d\'un stock</center></h2>
<br>
<center>
<form method="post" action="ajouter_bdd_stock.php">
<table>
<tr>
<td>Num du stock de papier: </td>
<td><input type="text" name="num_stock"></td>
</tr>
<tr>
<td>Libellé du stock de papier: </td>
<td><input type="text" name="nom_stock"></td>
</tr>
<tr>
<td>Description du stock: </td>
<td><input type="text" name="description_stock"></td>
</tr>
<tr>
<td>Nombre de feuille par carton: </td>
<td><input type="text" name="ref_carton_feuille_stock"></td>
</tr>
<tr>
<td>Lieu du stock : </td>
<td><input type="text" name="lieu_stock"></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="envoyer" name="envoi_stock"><input type="reset" value="effacer"></td> </tr>
</table>
</form>
</body>
</html>
***Fichier ajouter_bdd_stock.php***
<?
//Connection à la base de données
// Etablissement de la connexion
$connexion = mysql_connect("local","gasi","ggg");
// Selection de la base test
$selection_base = mysql_select_db("test");
//Requete d'ajout d'un stock
$num_stock=$_POST['num_stock'];
$nom_stock=$_POST['nom_stock'];
$description_stock=$_POST['description_stock'];
$ref_carton_feuille_stock=$_POST['ref_carton_feuille_stock'];
$lieu_stock=$_POST['lieu_stock'];
$sql="INSERT INTO voir_stock VALUES ('num_stock','nom_stock','description_stock','ref_carton_feuille_stock','lieu_stock',)";
mysql_query($sql) or die(mysql_error());
mysql_close();
?>
Votre aide serai la bienvenue
Cordialement
A voir également:
- Ajout de donnée(BDD) à l'aide d'un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable - Forum Réseaux sociaux
- Ajout snap sans rien d'écrit - Forum Snapchat
6 réponses
bonjour,
C'est juste que ta requete donne en dur les noms et pas en variables :
$sql="INSERT INTO voir_stock VALUES ('$num_stock','$nom_stock','$description_stock','$ref_carton_feuille_stock','$lieu_stock')";
Par aileurs,
- il y avait une , en trop à la fin (je l'ai supprimé dans ma requête)
- ATTENTION à bien protéger (echapper) tes données avant de les insérer, voir par exemple mysql_real_escape_string en PHP (http://fr3.php.net/manual/fr/function.mysql-real-escape-string.php)
- le but est que si un champ de formulaire contient un ', il soit protégé par \ dans la requete pour ne pas provoquer d'erreur SQL ou pire de tentative de piratage (injection SQL)
- PHP peut le faire automatiquement (magic_quote_gpc), mais il vaut mieux s'en assurer ...
Bon courage
C'est juste que ta requete donne en dur les noms et pas en variables :
$sql="INSERT INTO voir_stock VALUES ('$num_stock','$nom_stock','$description_stock','$ref_carton_feuille_stock','$lieu_stock')";
Par aileurs,
- il y avait une , en trop à la fin (je l'ai supprimé dans ma requête)
- ATTENTION à bien protéger (echapper) tes données avant de les insérer, voir par exemple mysql_real_escape_string en PHP (http://fr3.php.net/manual/fr/function.mysql-real-escape-string.php)
- le but est que si un champ de formulaire contient un ', il soit protégé par \ dans la requete pour ne pas provoquer d'erreur SQL ou pire de tentative de piratage (injection SQL)
- PHP peut le faire automatiquement (magic_quote_gpc), mais il vaut mieux s'en assurer ...
Bon courage
J'ai rectifié mon erreur par rapport à la variable... Mais toujours rien. Quand je vais voir sur ma table, rien n'a été ajouté. Il y a une actualisation à faire ou quelque chose dans le genre ?
Merci de ta réponse en tout cas
Merci de ta réponse en tout cas
envoie moi la requete $sql une fois les remplacements effectués que je voie s'il n'y a pas d'erreur ?
Pour le raffraichissement de la base :
- soit tu parles via phpMyAdmin ou autre, et il suffit que tu recharges la page ou la table
- soit tu parles de ton site, et la ca depend de ton code : si tu souhaites un raffraichissement de la liste, il faut le programmer ...
Quoi qu'il en soit, une fois les données inserées par la requete INSERT ... , elles sont stockées en base instantanément :)
Pour le raffraichissement de la base :
- soit tu parles via phpMyAdmin ou autre, et il suffit que tu recharges la page ou la table
- soit tu parles de ton site, et la ca depend de ton code : si tu souhaites un raffraichissement de la liste, il faut le programmer ...
Quoi qu'il en soit, une fois les données inserées par la requete INSERT ... , elles sont stockées en base instantanément :)
Ah okay... c'est pour ça.. Je me demandais si il fait réactualiser. Mais si c'est instantané comme tu dis, ça devrait marcher.
Voila ma requête modifié :
$sql="INSERT INTO voir_stock VALUES ('$num_stock','$nom_stock','$description_stock','$ref_carton_feuille_stock','$lieu_stock')";
Cdtl
Voila ma requête modifié :
$sql="INSERT INTO voir_stock VALUES ('$num_stock','$nom_stock','$description_stock','$ref_carton_feuille_stock','$lieu_stock')";
Cdtl
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question