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.
-
non en fait tu met le script et le onkeyup dans la page html !
-
alors pour modifier l'apparence de ta page
tu modifie la balise <body>
pour mettre une image en fond d'ecran tu met une image dans le dossier ou se trouve tes deux page (formulaire et ajout ) et tu rajoute background='nomdelimage.extde limage'
un exemple si ton image s'appelle image.jpg
cela donnera:
<body background='image.jpg'>
si tu veux juste mettre une couleur il faut mettre bgcolor='lacouleur'
un exemple <body bgcolor='red'>
tu peux aussi mettre de couleur hexadecimal
exemple <body bgcolor='#D36517' >
pour ce qui est d'agrandir (ou rediure) tes zones de texte il faut ajouter l'attribut size dans les input
exemple:
<input type='text' name='num' size='3' />
le chiffre que l'on met correspond au nombre de caractére (ici l'espace texte fera la taille de 3 caractéres)
un autre petit truc qui peut etre utile si tu veut limité le nombre de caractére dans un espace texte il faut mettre maxlength
un exemple:
si on veut limiter a 5 caractére
<input type='text' name='num' maxlength='5' />
alors tu peut trés bien determiner la taille et le nombre de caractére ce qui donne:
<input type='text' name='num' maxlength='5' size='3' />
voila!
-
c good ça fonctionnent
dans ta page tu met:
<script type="text/javaScript">
function chiffres(objInput)
{
var reg = /^[0-9]*$/;
if(!reg.test(objInput.value)){
objInput.value = objInput.value.substring(0,objInput.value.length-1);
}
}
</script>
et ensuite dans le input ou tu veut empecher de mettre des lettre tu met :
onkeyup="chiffres(this)" onkeydown="chiffres(this)"
exemple(pour ton input qui correspond au numero):
<input type='text' name='num' onkeyup="chiffres(this)" onkeydown="chiffres(this)" />
voila! -
tu entend quoi par modifier ?
-
je vien peut etre de trouver un script qui correspond a ce que tu cherche ! je le teste et je te dis quoi !
-
alors !
pour etre franc je ne sais pas coment empecher de rentrer des lettres mais en revanche je sais comment on peut faire en sorte de verifier que le contenue du texte est un chiffre et si ce n'est pas le cas envoyer un message d'alerte signalant que le texte n'est pas conforme !
si ça peut t'interesser !(mais la on vas passer par du javascript!!) -
salut !
content que ça fonctionnent et si tu as d'autre besoin n'esite pas
par contre je n'est pas de msn mais au pire tu as mon mail ! -
POUR MODIFIER UNE ENTITéSUR LA CONSOLE SQL TU DOIS TAPER
ALTER TABLE courrier_départ MODIFY date varchar(25);
mais je ne sais pas comment fonctionne nt easyphp !
si tu a une console sql tu peut faire ça ! -
oui c'est normal 12/10/2009 et considere comme une chaine de carctére !
-
ok !
ben pour la date c'est parce que dans ta table tu a mis un format date ! modifie le en format varchar et ça sera niquel !
-
bonjour ,
pour enregistrer tes données dans les tables de la base de données ,
tu auras besoin des requètes SQL .
d'abord , il faut :
une connexion à la base
puis ta requète : (insertion des données ou récupération des données)
pour cela tu peux utiliser du code PHP :
voici un exemple pour la connexion à la base de données :
<?php
$base = mysql_connect ('mon_serveur', 'login', 'password');
mysql_select_db ('ta_base_de_donnees', $base) ;
?>
exemple de récupération de données :
<?php
// lancement de la requete
$sql = ' INSERT INTO table VALUES ('','livre','1234');
';
// on lance la requête (mysql_query) et un message d'erreur s'affiche si la requête ne
se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);
// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
mysql_close ();
?>
bn courage -
je t'indique d'ou vient l'erreur !
a la ligne 35 de ton page.php tu a
$rq="INSERT INTO courrier_départ(Numero,Date,Destinataire,Adresse,Ville,Pays,Piéces,Désignation1,Désignation2,Emargement)
ce qu'il y entre les parenthèses correspond a ce qu'il y a dans ta table (les entités) if faut donc que tu verifie que ta table contient bien les entité suivante:
Numero
Date
Destinataire
Adresse
Ville
Pays
Piéces
Désignation1
Désignation2
Emargement
il faut que tes entité et ce qui est mis entre les parenthése dans
courrier_départ(Numero,Date,Destinataire,Adresse,Ville,Pays,Piéces,Désignation1,Désignation2,Emargement)
sois rigouresement les mémes (si tu met piéces et que ton entité s'appelle pièces il ne va pas l'accepter)
c'est pour ça que j'aimerais que tu m'envois tes entités via un copier coller comme ça ça limite les erreur de frappe !
-
ok !
donc c'est ton entité piéce qui n'est pas reconnue !
pourrais tu verifier ta table (c'est surement une erreur a la con du genre piece au lieu de piéce )
et fais un copier coller des entités comme j'aurai le nom exact !
-
alors a la ligne 39 tu a
$result=mysqli_query($connexion,$rq)
or die ("requette echouée");
tu remplace par
$result=mysqli_query($connexion,$rq)
or die ('Erreur SQL : '.mysqli_error($connexion));
et normalement il va t'indiquer un message d'erreur !
en fait l'erreur doit venir d'un nom d'entité mais lequel ? c'est a ça que va servir le message d'erreur !
sinon petite precision ne met pas d'apostrophe dans les champs text de ton formulaire ça peut etre ça qui crée une erreur -
si a chak foi je met enregistrer vasy réecri bien le dérnier code je pense ke il te fau kelk chose !!!
-
pense a enregistrer ta page (ctrl+s) a chaque fois sino il ne vas pa prendre en compte les changement !
-
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 !! -
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 ! -
est ce que tu a mis un mot de pasee a ta BDD ?
-
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
- 1
- 2