Formulaire
Résolujai une base de données avec une table sur easyphp ! je veux créer un formulaire html ( ou doit mettre un boutton enregistrer et des champs biensure ! ) apres le remplissage des champs; jaimerai ke les info saisies s'envoient automatiquement a la table dans la base de données dés que je clique sur le bouton enregistrer !!!!! svp jai besoin de l'aide :-(
Configuration: Windows XP Internet Explorer 6.0
36 réponses
La problématique porte sur la création d'un formulaire HTML qui, après remplissage, envoie automatiquement les données vers une table de base de données lors du clic sur le bouton enregistrer. La solution préconisée consiste à orienter l'envoi vers une page PHP via l'attribut action, puis à récupérer les valeurs avec $_POST et à les insérer dans la base par INSERT INTO. Les détails clés incluent la connexion à la base (par exemple mysqli_connect), la construction d'une requête INSERT correspondant aux colonnes de la table, et la gestion des erreurs SQL. En cas d'erreur, vérifier la correspondance exacte entre les noms d'entités et les colonnes, et éviter les apostrophes dans les champs texte pour limiter les erreurs.
-
bonjour !
voici un extrait de tuto pour les formulaires:
Alors pour faire on a un formulaire on utilise une ….balise (pour changer !) la balise
<form> et elle a des ….attributs .
Alors elle s’ecrit <form method=’’ action=’’></form>
Les attributs :
method correspond a la methode dont vont etre envoyés les informations il en existe 2
post et get .la difference !! franchement je sais pas trop ! enfin quoi qu’il en soit ici on
va utilisée la method=’post’ .
Alors pour l’attribut action il correspond a la page sur laquelle on va etre envoyer après
avoir valider le formulaire. Pour que l’information circule il faut que la page de réception
soit lune page php
Ici on va mettre imc.php parce qu’après on va faire un petit programme qui calcule l’imc
(l’indice de masse corporelle ça sert pas a grand-chose je sais mais bon !)
On récapitule on a donc <form method=’post’ action=’imc.php’>
Maintenant on vas mettre un espace pour que l’utilisateur puisse tapé du texte c’est la
balise
<input /> (c’est une balise orpheline on ne la ferme pas avec un </input> on met un/avant
le> donc<input/>
Qui a les attributs :
- name qui correspond au nom (cet attribut a son importance car on verra par la suite
que c’est grace au nom que l’on peut recuperer les valeur)
-type qui au type (un bouton un espace pour le texte...)ici on aura un type=’text’ et on a
besoin de deux zones de texte donc deux input que l’on nomera t et p pour taille et
poids.
Alors l’attributs type a plusieurs valeurs possible on vas en voir les
principals :
type=’text’->connu aussi sous le nom de textbox(boite a texte ) elle correspont a un
espace texte ou l’utilisateur peut rentrer les valeur qu’il desire.
type=’checkbox’-> le type checkbox(boite a cocher) correspond a une petite case a
cocher pour qu’elle soit utile il faut lui donner une valeur et donc rajouter l’attribut
value=’valeur’ a la place de valeur on met la valeur desirée (ex: si on met value=’2’ et bien
si l’utilisateur coche la case on récupère la valeur 2
type=’radio’-> le radiobouton et un bouton a choix unique. C’est dire que si on créer de
boutonradio et qu’on leur donne le meme nom(attribut name=) on ne pourra en cocher
qu’un sur les deux (si on en met trois qui on le meme nom on ne peut en cocher toujours
qu'un.)
type='submit' ->il est particulierement important car il s'agit du bouton qui va valider le
formulaire c'est grace a ce bouton que l'on va envoyer les informations (un lien
hypertext ne suffit pas)
enfin pour le reste vous n'avez qu'a les esssayer .
donc revenons petit formulaire ça donne
.Ça nous donne :
<input type=’text’ name=’t’/>
<input type=’text’ name=’p’ />
Il nous faut maintenant un bouton pour valider le formulaire .c’est ce bouton qui va
permettre d’envoyer les information contenu dans les <input/> c’est aussi un <input/>
mais cette fois ci c’est l’attribut type qui change cette fois ci c’est l’attribut type qui
vas changer on a un type=’submit’ et il y a un nouvel attribut qui sera value et qui
correspond au texte qui vas figurez sur le bouton(ici calculez imc) on va donc faire le
formulaire :
<form method=’post’ action=’imc.php’>
Votre taille:<input type=’text’ name=’t’/>cm<br/>
Votre poid:<input type=’text’ name=’p’ />kg<br/>
<input type=’submit’ value=’calculez IMC’ />
</form>
voila deja pour les formulaires quand tu aura fait ton formulaire di le moi on passera a comment entrées tout ça dans une BDD ! -
ok
donc pour recuperer les infos
je te donne un exemple ave cun formuliaire on l'on recupére plein d'information que l'on met dans une table nommé client.je suis desolé je n'ai pas d'exemple plus petit...c'est un peu long a lire !
<?php
// d'abord on recupére les valeurs de ton formulaire et on les place dans des variables
$codef=$_POST['ref'];
$civil=$_POST['civil'];
$nom=$_POST['nom'];
$adr=$_POST['adr'];
$ville=$_POST['ville'];
$cp=$_POST['cp'];
$pays=$_POST['pays'];
$adrlivr=$_POST['adrlivr'];
$villelivr=$_POST['villelivr'];
$cplivr=$_POST['cplivr'];
$payslivr=$_POST['payslivr'];
$interlo=$_POST['interlo'];
$qual=$_POST['qual'];
$tel=$_POST['tel'];
$fax=$_POST['fax'];
$telport=$_POST['telport'];
$mail=$_POST['mail'];
$site=$_POST['site'];
$ca=$_POST['CA'];
$du=$_POST['du'];
$encour=$_POST['encour'];
$rem=$_POST['rem'];
$esc=$_POST['esc'];
$compte=$_POST['compte'];
$repr=$_POST['repr'];
$regl=$_POST['regl'];
$fact=$_POST['fact'];
$seuil=$_POST['seuil'];
$siret=$_POST['siret'];
$prib=$_POST['prib'];
$iban=$_POST['iban'];
$dom=$_POST['dom'];
$block=$_POST['block'];
$memo=$_POST['memo'];
$siret2=$_POST['siret2'];
$rempsr=$_POST['rempsr'];
$rempi=$_POST['rempi'];
$rib1=$_POST['rib1'];
$rib2=$_POST['rib2'];
$rib3=$_POST['rib3'];
$rib4=$_POST['rib4'];
//on se connecte a la base de données
$user="root";
$host="localhost";
$password="";
$database="data";
$connexion=mysqli_connect
($host,$user,$password,$database)
or die ("connexion echouée");
//on crée la requette
$rq="INSERT INTO client(ref_cli,civil_cli,nom_cli,adr_cli,cp_cli,ville_cli,pays_cli,adrlivr_cli,cplivr_cli,villelivr_cli,
payslivr_cli,interlo_cli,qualif_cli,tel_cli,fax_cli,telpot_cli,mail_cli,ca_cli,du_cli,encour_cli,
regl_cli,rem_cli,esc_cli,compte_cli,repr_cli,fact_cli,relance_cli,siret_cli,site_cli,paysrib_cli,iban_cli,
domicil_cli,block_cli,memo_cli,siret,rempsr,rempi,rib1_cli,rib2_cli,rib3_cli,rib4_cli)
Value('$codef','$civil','$nom','$adr','$cp','$ville','$pays','$adrlivr','$cplivr','$villelivr',
'$payslivr','$interlo','$qual','$tel','$fax','$telport','$mail','$ca','$du','$encour',
'$regl','$rem','$esc','$compte','$repr','$fact','$seuil','$siret','$site','$prib','$iban','$dom','$block','$memo','$siret2','$rempsr','$rempi'
,'$rib1','$rib2','$rib3','$rib4')";
//on execute le requette
$result=mysqli_query($connexion,$rq)
or die ("requette echouée");
//et voila c'est dans la BDD
?>
alors por inserer c'est donc la requette :
INSERT INTO nomdelatable(nomdelentité1,nomdelentité2)
VALUE (valeurdelentité1,valeurdelentité2)
voila si ya qqchose de pas clair !-
besoin dun peu dexplication ! "la page dans lequel tu vas receptionner tes infos
et dans cette page php tu receptione avec
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adr=$_POST['adr'];
et ta requette donneras
INSERT INTO nomdelatable(nom,prenom,adresse)
VALUE ('$nom','$prenom','$adr') "
explique moi ca avec les détaille stp !
-
-
par exemple les champs de ma table c " nom " " prenom" "adresse"
jdoi créer un formulaire pour c champs la sur html necpa !? oui !
un formulaire qui donneras:
<form method='post' action=''>
<input name='nom' type='text' />
<input name='prenom' type='text' />
<input name='adr' type='text' />
<input type='submit' value='valider' />
</form>
dans action tu met la page dans lequel tu vas receptionner tes infos
et dans cette page php tu receptione avec
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adr=$_POST['adr'];
et ta requette donneras
INSERT INTO nomdelatable(nom,prenom,adresse)
VALUE ('$nom','$prenom','$adr')
voila !-
svp vincint shui un débutant en fait shui pas un développeur shui un technicien spécialisé en réseau informatique
alors soit tu mdétail bcp les choses soit jte donne tous les renseingement et tu fai ce plaisir et il me reste que saisir !! car shui en stage mnt et mon encadrant ma donner un projet sous easyphp alors c comca ! svp jai besoin de laide il me reste que 3 jour en stage et jdoi finir ca :-( -
-
-
alors dans le detail ça nous donne
dans ton formulaire tu a mis le nom d'une page.php dans l'attributs action (exemple <form action='page.php' method='post' >
donc tu creer une page nommer "page.php")
et dans cette page tu doit mettre:
<?
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adr=$_POST['adr'];
//on se connecte a la base de données
$user="root";
$host="localhost";
$password="";
$database="data";
//a la place de data tu met le nom de ta base de données
$connexion=mysqli_connect
($host,$user,$password,$database)
or die ("connexion echouée");
//on crée la requette
$rq="INSERT INTO client(nom,prenom,adresse)
Value('$nom','$prenom','$adr')";
//on execute le requette
$result=mysqli_query($connexion,$rq)
or die ("requette echouée");
//et voila c'est dans la BDD
?>
c'est plus clair ! ou pas ? -
si t'a d'autre question j'y repondrai demain car la je rentre chez moi(car je suis au taff )!
mais n'esite pas !
bonne soirée a demain ! -
bonjour
explique moi ce qu'il te faut et je m'en occupe d'ici ce soir !-
bjr ! dans une page.html jai fai :
<form method='post' action='Nouveau Document texte.php'>
<p>Numero : <input name='Numero' type='text'/></p>
<p>Date : <input name='Date' type='text'/></p>
<p>Déstinataire : <input name='Déstinataire' type='text'/></p>
<p>Adresse : <input name='Adresse' type='text'/></p>
<p>Ville : <input name='Ville' type='text'/></p>
<p>Pays : <input name='Pays' type='text'/></p>
<p>Piéces : <input name='Piéces' type='text'/></p>
<p>Désignation1 : <input name='Désignation1' type='text'/></p>
<p>Désignation2 : <input name='Désignation2' type='text'/></p>
<p>Emargement : <input name='Emargement' type='text'/></p>
<p><input type='submit' value='valider'/>
</form>
dans une autre page.php jai fai :
<form method='get' action='Nouveau Document texte.html'>
<?
$Numero=$_POST['Numero'];
$Date=$_POST['Date'];
$Déstinataire=$_POST['Déstinataire'];
$Adresse=$_POST['Adresse'];
$Ville=$_POST['Ville'];
$Pays=$_POST['Pays'];
$Piéces=$_POST['Piéces'];
$Désignation1=$_POST['Désignation1'];
$Désignation2=$_POST['Désignation2'];
$Emargement=$_POST['Emargement'];
//on se connecte a la base de données
$user="root";
$host="localhost";
$password="";
$database="holcim";
//a la place de data tu met le nom de ta base de données
$connexion=mysqli_connect
($host,$user,$password,$database)
or die ("connexion echouée");
//on crée la requette
$rq="INSERT INTO client(nom,prenom,adresse)
Value('$nom','$prenom','$adr')";
//on execute le requette
$result=mysqli_query($connexion,$rq)
or die ("requette echouée");
//et voila c'est dans la BDD
?>
</form>
esk ca marche ca !!!!
-
-
salut !
explique moi ce qu'il te faut exactement et je te le fais pour ce soir !!
tinkiet !-
merci bcp demain c mon dérnier jour au stage alors c obligatoire tu voi !
voila ce ke jai besoin :
* jai une base de donnée nommée " bureau_d'ordre" et une table dans cette BD nommée "courier_départ" et dans cette table ya les champs : "Numero" "Date" "Destinataire" "Adresse" "Ville" "Pays" "Piéces" "Désignation1" "Désignation2" "Emargement"
alors il m'on demander de crée un formulaire lié a cette table ca veut dire que quand on saisie des données sur ce formulaire et clicquer sur valider les informations saisies vont s'enregistrer sur la table dans la base de donnée ! tu mcomprend necpa !!!!
-
-
ok !
je m'occupe de ton formulaire et de la page de reception des données
faudra juste que tu me file ton mail pour que je t'envoie tout ça ! je te tien au courant sur la progression du truc !
nb tu est sur que ta table s'appelle bureau_d'ordre c'est une simple verification car les ' sont assez rare d'habitudes !mias sinon ça ne pose aucun pb !
a toute -
petite question emargement c'est un oui/non ou il faut mettre une valeur !
et la taille des designation ! (est qu'il y aura beaucoups de caractére)
-
bon ben pour moi c'est bon ! j'attend ton adresse pour t'envoyer les deux pages !
-
alors on vas faire ça en trois etapes
-la premiere creer un dossier dans lequelle tu mettra tes deux pages .
-la deuxieme
tu ouvre le bloc note tu copie ce que je vais mettre en dessous et tu enregistre avec le nom: formulaire.html
voila ce quil faut copier:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>formulaire</title>
</head>
<body>
<form action='ajout.php' method='post'><table align='center' bgcolor='#D2D2D2'>
<tr><td>numero:</td><td><input type='text' name='num'/></td></tr>
<tr><td>date:</td><td><select name='jdate'>
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>
<select name='mdate'>
<option value='01'>janvier</option>
<option value='02'>fevrier</option>
<option value='03'>mars</option>
<option value='04'>avril</option>
<option value='05'>mai</option>
<option value='06'>juin</option>
<option value='07'>juillet</option>
<option value='08'>aout</option>
<option value='09'>septembre</option>
<option value='10'>octobre</option>
<option value='11'>novembre</option>
<option value='12'>decembre</option>
</select>
<select name='adate'>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
<option value='2012'>2012</option>
<option value='2013'>2013</option>
<option value='2014'>2014</option>
<option value='2015'>2015</option>
<option value='2016'>2016</option>
<option value='2017'>2017</option>
<option value='2018'>2018</option>
<option value='2019'>2019</option>
<option value='2020'>2020</option>
</select></td></tr>
<tr><td>destinataire:</td><td><input type='text' name='dest'/></td></tr>
<tr><td>adresse:</td><td><input type='text' name='adr'/></td></tr>
<tr><td>ville:</td><td><input type='text' name='vil'/></td></tr>
<tr><td>pays:</td><td><input type='text' name='pays'/></td></tr>
<tr><td>piéces:</td><td><input type='text' name='pi'/></td></tr>
<tr><td>designation 1:</td><td><input type='text' name='des1'/></td></tr>
<tr><td>designation 2:</td><td><input type='text' name='des2'/></td></tr>
<tr><td>emargement:</td><td><input type='text' name='em'/></td></tr>
<tr><td colspan=2><input type='submit' value='envoyer' /></td></tr></table>
</body>
</html>
-la troisiemme
ensuite tu reouvre le bloc note et tu copie ce qu'il y a en dessous et tu enregistre ta page au nom de: ajout.php
voila ce qu'il faut copier:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body style='font-family:Comic Sans MS'>
<?php
$num=$_POST['num'];
$jdate=$_POST['jdate'];
$mdate=$_POST['mdate'];
$adate=$_POST['adate'];
$da="$jdate / $mdate / $adate";
$desti=$_POST['dest'];
$adr=$_POST['adr'];
$ville=$_POST['vil'];
$pays=$_POST['pays'];
$piece=$_POST['pi'];
$des1=$_POST['des1'];
$des2=$_POST['des2'];
$emar=$_POST['em'];
$user="root";
$host="localhost";
$password="";
$database="bureau_d'ordre";
$connexion=mysqli_connect
($host,$user,$password,$database)
or die ("connexion echouée");
$rq="INSERT INTO courrier_départ(Numero,Date,Destinataire,Adresse,Ville,Pays,Piéces,Désignation1,Désignation2,Emargement)
Value('$num','$da','$desti','$adr','$ville','$pays','$piece','$des1','$des2',
'$emar')";
$result=mysqli_query($connexion,$rq)
or die ("requette echouée");
?>
<h1>valeurs enregistrées</h1>
<a href='formulaire.html'>retour au formulaire</a>
</body>
</html>
voila normalement ça marche !-
salut mec ! dsl pour le retard jétai au chantier !
oui shui sure que ma table sapelle " bureau_d'ordre "
voila mon adresse steel_inn@hotmail.fr
si c possible tu mindique : par ex la page.html on met ce code ..... et dans la page.php on met ce code....
merci bcp et shui vrm dsl pour le dérangement a+ -
-
-
voila je vien de te l'envoyer ! di moi si tu la reçu !
-
salut !
c'est normal pas de panique c'est juste que le php doit utiliser un serveur ! (mais elle est ou ta base de données ! c'est une base mysql ?) sinon il te faut wampserver2
-
alors ce que je te conseil !
telecharge wampserver2 tu peut le trouver dans ce site au telechargement ensuite tu l'installe tu le demarre !
(startwampserver) ensuite tu clique sur le petit symbole wamps en bas a droite de ton ecran, un menu s'affiche , tu selectionne SQLlite manager et tu rapatrie ta BDD dans mysql (enfin ça il le fais tout seul ta juste a lui indiquer le chemin d'acces de ta BDD)
ensuite tu reclique sur le symbole wamps et la tu vas dans repertoire www (ou www directory) et tu met le dossier que je t'ai filé dedans ! ensuite tu reclick surle symbol wamps en tu choisit localhost et la tu vas pouvoir tester si ça marche !
voila ! tizen moi au courant !
-
ben en fait ta bdd tu la mise quelpart ! le chemin d'acces c'est ce qui donne son emplacement
exemplle c:wamp/mysql/nomde la base
mais je vien d eme reinseigener sur easy php tu dois avoir un repertoire www
alors tu ouvre easy php et tu met ce que je t'ai filé dans le repertoire www d'easy php et normalement ça devait fonctionner et tu n'aura pas besoin d'installer wamp !
-
une fois que tu la mis dans le repertoire www tu click sur ton icone easyphp en bas a droite de ton ecran et ensuite tu choisi localhost et normalement ça doit marcher !
-
ok !
je vien de voir mon erreur si tu ouvre page.php dedans il y a une ligne (la ligne 15) avec:
$da="$jdate / $mdate / $adate"
et bien tu rajoute un ; a la fin ce qui nous donne:
$da="$jdate / $mdate / $adate";
voila ! reassaye et di moi si il t'affiche d'autre erreur -
est ce que tu a mis un mot de pasee a ta BDD ?
-
ok !
je vien de voir que pour easy php il y a un mots de passe qui est par defaut : mysql
alors dans ajout.php a la ligne 27 tu trouve:
$password="";
si tu a mis un mot de passe tu le met entre les "" sinon tu met mysql
ce qui donne (si tu n'a pas mis de mot de passe):
$password="mysql";
reassaye et di moi ce que ça donne ! -
non il faut laisser method post car dans ajout tu recupere tes donnée par $_post !
a la ligne 40 a la place de ;
or die ("requette echouée");
met
or die ('Erreur SQL : '.mysqli_error($connexion));
et dis moi le message qu'il t'affiche !!
on en vient a bout ! tinkiet !!
- 1
- 2