PHP-Formulaire.Comment récupérer les données

Résolu/Fermé
midiweb - 21 août 2004 à 18:14
 MmeLaProviseur - 2 juil. 2011 à 19:02
salut, suis débutant en php.J'ai créé un formulaire et script php qui traite les données entrées par l'internaute. Mon script semble n'avoir aucune erreurr sous Zend studio. Mais sur le serveur, je ne peux récupérer les données envoyées par l'utilisateur c.à.d que je ne sais pas ce qu'il a écrit. Dois-.je mettre une fonction email? Je voudrais récuperer automatiquement les données dans un fichier texte ou dans une base de données MySql. Comment faire? Ci-joints le formuliare et le script de traitement.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000000" text="#FFFFFF" >
<form action="traitement.php" method="post" enctype="multipart/form-data" name="formulaire">
<strong><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Nom</font></strong>
<input name="nom" type="text" size="30" maxlength="30" >
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Prénom</strong></font>
<input name="prenom" type="text" size="30" maxlength="30" >
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Email</strong></font>
<input name="email" type="text" value="Forme: nom@mail" size="25" maxlength="30" ><br><br>
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Âge</strong></font>
<input name="sexe" type="text" size="2" maxlength="2">
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Sexe</strong></font>
<label>
<input name="sexe" type="radio" value="F">
Femme</label>

<label>
<input type="radio" name="sexe" value="H">
Homme</label>
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Profession</strong></font>
<input name="job" type="text" size="30" maxlength="30" ><br><br>
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Entrez ci-dessous votre texte:</strong></font><br>
<br>
<textarea name="texte" cols="90" rows="25"></textarea><br><br>
<input name="envoyer" type="submit" value="Envoyer">
<input name="Recommencer" type="reset" value="Recommencer">
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Attaché</strong></font>
<input name="Fichier" type="file" size="25">
</form>
</body>
</html>

et le script de traitement traitement.php

<HTML>
<BODY bgcolor="Black" text="White">

<?
echo "<U>Vous avez écrit:</U>"."<br><br>";
echo "<strong>Votre nom:</strong>" .$_REQUEST['nom']."<br>";
echo "Votre prénom: ".$_REQUEST['prenom']."<br>";
echo "Votre email: ".$_REQUEST['email']."<br>";
echo "Votre profession: ".$_REQUEST['job']."<br>";
echo "Votre sexe: ". $_REQUEST['sexe']."<br>";
echo "Votre message: ". $_REQUEST['texte']."<br>";
?>
<a href="index.html">Confirmer</a>
<a href="formulaire.html">Cliquez ici pour recommencer !</a>
</BODY>
</HTML>


merci de votre aide.

18 réponses

dedale82 Messages postés 403 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 28 octobre 2008 282
21 août 2004 à 18:40
Salut,
si tu veux recuperer les donnees dans une base, il suffit de se connecter a la base :

$server = '...';
$user = '...';
$pass = '...';
$table = '...';

mysql_pconnect($server, $user, $pass)
or die("Impossible de se connecter au serveur $server");
ensuite se choisir la base :
mysql_select_db($db)
or die("impossible de se connecter à la base $db");

puis faire la requete :
$query = "INSERT INTO $table (champs 1, champs 2, ...) "
. "VALUES "
. "('$valeur 1', '$valeur 2', '...')";
$resultat = mysql_query($query)
or die("L'insertion a echouée car ". mysql_error() .".");

et voila.
Tiens moi au courant, a plus.
14
leila hajmeftah
17 avril 2009 à 13:19
bonjour
comment récupérer des champs de textes saisi d' un formulaire flash dans une page php
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 août 2004 à 19:05
D'ailleurs pour affiner tout ça, ton code php pour insérer les données sera:

$server = '...';
$user = '...';
$pass = '...';
$table =formulaire;

mysql_pconnect($server, $user, $pass)
or die("Impossible de se connecter au serveur $server");
 /* ensuite se choisir la base : */
mysql_select_db($db)
or die("impossible de se connecter à la base $db");


*/Récupérer les données */

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];  /*et ainsi de suite */


/* puis faire la requete : */
$query = "INSERT INTO $table (nom, prenom, ...) 
VALUES ('$nom', '$prenom', '...')";

$resultat = mysql_query($query)
or die("L'insertion a echouée car ". mysql_error() ."."); 


Voilou....Plus de détails ici => http://www.phpfrance.com/tutorials/

Kilian, débutant en tâche de fond.....
6
attention

$server = '...';
$user = '...';
$pass = '...';
$table =formulaire; -> $db=formulaire;
0
salut. merci de votre réponse rapide, trop rapide, j'ai même pas le temps de commencer ma formation mySql :-)En fait je voulais récupérer les données d'abord sans MySql, ...En passant, je disais MySql. Mais j'apprends vite. Je vous tiens au courant, un courant alternatif!!:-) Merci encore. A+
3
Bonjour,

J'essaye de creer un formulaire avec des listes deroulantes et plusieurs reponses possibles ... mais pas moyen de les transferer dans ma bdd mysql, je bloque, pas d'idees !!

quelqu'un peut m'aider ???

j'ai vu sur quelques sites qu'il fallait utiliser foreach, mais je comprends pas comment ni ce que ca fait !!

merci pour votre aide
3
MmeLaProviseur
2 juil. 2011 à 19:02
Tout simplement tecris un name d'un ton formulaire ex:
<input type="text" name="message">

en php:
<?php
$donnes = fopen('donnesrecu.txt),'a';
fwrite 'donnes recu' . $_POST['message'] . ;
fclose($donnes)
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 août 2004 à 18:54
N'oublies pas de créer une table au préalable dans ta base de données :

CREATE TABLE formulaire(
nom varchar(12),
prenom varchar(12),
email varchar(25),
profession varchar(30),
sexe varchar(8),
message text
);



Kilian, débutant en tâche de fond.....
2
Bonjour, je travaille égalent de mon côté sur un formulaire. J'avais déjà fait un sujet à ce sujet... sur le forum.
Comme il ya le même genre ici, je viens ici

Le fait que je suis une buse en code et script, je cherche tout de même à apprendre sur le tas, mais c compliqué tt de même lol

Bref, juste une question, grâce à mon hébergeur, j'ai pu obtenir, le code dont vous parlez ci dessus. Le mien est ainsi :

CREATE TABLE `C01025_taxi`.`Enquete` (
`Deb` VARCHAR( 3 ) NOT NULL ,
`Type` VARCHAR( 5 ) NOT NULL ,
`Freqnat` VARCHAR( 4 ) NOT NULL ,
`Freqreg` VARCHAR( 7 ) NOT NULL ,
`dplct` VARCHAR( 3 ) NOT NULL ,
`dispo` VARCHAR( 3 ) NOT NULL ,
`moyendplct` VARCHAR( 5 ) NOT NULL ,
`moyendplctautre` VARCHAR( 12 ) NOT NULL ,
`minibus` VARCHAR( 3 ) NOT NULL ,
`service` VARCHAR( 12 ) NOT NULL ,
`serviceautre` VARCHAR( 15 ) NOT NULL ,
`age` VARCHAR( 5 ) NOT NULL ,
`ageautre` VARCHAR( 2 ) NOT NULL ,
`sexe` VARCHAR( 1 ) NOT NULL ,
`club` VARCHAR( 20 ) NOT NULL
) ENGINE = MYISAM

Cela dit où dois je le placer ?
Si je reprends l'exemple initial, sur la page formulaire ou sur celle traitement ?
à quel endroit exactement ?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > Tim
29 janv. 2009 à 11:15
Salut,

Ce code est une création de table. Il faut que tu l'executes en utilisant un client mysql.

Le plus facile c'est d'utiliser phpmyadmin, qui est généralement fourni par les hebergeurs.
Ca dépend de ton hebergement en fait.
0
Tim > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
29 janv. 2009 à 12:05
en effet, merci de ta réponse,

entre temps et en bidouillant, j'ai pu le remarquer...
0
Tim > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
29 janv. 2009 à 13:16
Petit à petit j'avance et comprend ce que je fais, cela dit, je suis coincé
Voici ce que j'ai écrit (ou repris, voir plus haut ;-) )

mysql_pconnect($server, $user, $pass)
or die("Impossible de se connecter au serveur $server");
ensuite se choisir la base :
mysql_select_db($db)
or die("impossible de se connecter à la base $db");

Bien sur je précise les différents éléments, mais malheureusement lors d'essais, il apparaît qu'il est impossible de se connecter à la base.
Pourtant elle existe bien chez mon hébergeur...

Quelqu'un voit il à quoi cela est du ?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > Tim
29 janv. 2009 à 14:03
Tu es certain de ces 3 éléments?
$server, $user, $pass

Tu l'as mis sur ton serveur ce script?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 août 2004 à 20:14
Oh faut pas avoir peur avec Mysql, les bases sont faciles à assimiler.
Dans le lien que je t'ai donné ils apprennent les bases necessaires...

Kilian, débutant en tâche de fond.....
2
est ce que quelqu'un pourrait m'aider je voudrais savoir si on peut envoyer de fausses données a un serveur php . par ex un site de jeux en ligne avec un serveur php dans le jeu on a des ressources or et autres . est ce qu'on pourrait envoyer une valeur autre que celle que l'on possede . ex j'ai 100000 or et je veux leur envoyer une valeur indiquant que j'ai 200000 or
2
bonjour tout le monde.tout d'abord j'aimerai vous dire que je veux creer un chat et je me suis servit de votre petit exemple plus haut pour le creer mais voila mon probléme : les messages apré avoir entrer le login et le message , ne s'affiche pas.rien ne saffiche juste la fenetre précedente.voila mon script :

<html><head><META HTTP-EQUIV="Refresh" CONTENT="30; URL=http://dkinformatique.ifrance.com/forum.php">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>FORUM</title><meta name="keywords" content=""><meta name="author" content="Bruno Castagné"></head>
<STYLE type="text/css">
BODY {scrollbar-face-color: #FFCC33; scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #FFCC33; scrollbar-3dlight-color: #000000;
scrollbar-darkshadow-color: #000000; scrollbar-track-color: #000000;
scrollbar-arrow-color: #990000;}
.tab1 { font-weight:bold; color:#ffffff; font-size:13px;font-family:tahoma }
.tabr {font-weight:bold; color:#000000; font-size:10px;font-family:verdana }
A {color:#99FF99; }
input {background-color:#FFCC33;color:#990000;font-weight:bold }
textarea {background-color:#FFCC33;color:#990000;font-weight:bold }
</STYLE>
<body bgcolor="#ffffcc" text="#9966ff" link="#0000ff" vlink="#800080" alink="#ff0000">
<form name="f" action="forum.php" method="post">
</form>
<?php
$host="xxxx";
$user="xxxx";
$pw="xxxxx";
$db="xxxx";// ou votre base de données....
$my_sql=mysql_connect($host,$user,$pw) or die(mysql_error());mysql_select_db("$db") or die(mysql_error());

?>

<form action=# method=POST>
login
<input type="text" name="login">
message
<input type="text" name="message">
<input type="submit" value="Envoyer">
</form>
<?php
$login=$_POST[login];
$message=$_POST[message];
if(empty($_POST[login])||empty($_POST[message])){
echo 'Merçi de tt remplir';
}
else{
mysql_query("insert into chat values ('','$_POST[login]','$_POST[message]'");
}
$aff=mysql_query("select * from chat order by id DESC limit 0,10");
while($af=mysql_fetch_array($aff)){
echo $af[login].' dit : '.$af[message].'<br><br>';
}
?>
</body></html>



voila merci de m'aider.
2
maryg07 Messages postés 4 Date d'inscription samedi 15 juillet 2006 Statut Membre Dernière intervention 25 juillet 2006 1
24 juil. 2006 à 20:07
Super, je vais pouvoir presque comprendre pourquoi ça ne marche pas ce que j'ai fait avec ton prototype.
Mais une petite question que je n'arrive pas à trouver la réponse :
Sur mon formulaire, j'ai un rappel du "pseudo" et de l'"email".
Ce pseudo et cet email est pris dans une table "membre".
Le formulaire lui insèrera des données dans une autre table "donnesmembre".
Bon, en sachant que c'est une zone protégée du membre, comment inséré les données dans ma table (en incluant le fait que cette table fera aussi apparaitre le pseudo et l'email.
Dois insclure dans les valeurs le pseudo et l'email ? tel que :
VALUES ('$pseudo, '$email, '$sexe',$situatfamill',...')";
Ne dois pas aussi inclure 'id_membre' et qui représente la clé de la table qui s'incrémente automatiquement ?

Merci pour cette aide précieuse car je suis un peu perdu dans tous ces tutoriaux;

Bic
Mary
1
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 64
25 juil. 2006 à 09:24
Salut.

J'ai pas tout compris à ce que tu as dit, mais pour l'auto incrément ne renseigne pas le champ, ça se fera automatiquement à l'enregistrement. C'est d'ailleur le principe d'un truc automatique !
1
bonjour j'ai lu votre conversation mais moi je ss un debutant et je comprens pas je que:
$server = '...';
$user = '...';
$pass = '...';
$table = '...';

Signifis merci de votre aidee !!
1
Ton ami google t'aidera, alors, les mots tu comprendra...

*part en sifflotant*
1
C'est de la triche ça...
1
Débutant en PHP, besoin d'un script qui recupère des données d'une table et les insert avec les données d'une autre tables de la même( un tuple).
Merci d'avance
1
Salut,je viens de creer une petite base sur phpadmin je veux savoir comment je dois posseder pour inserer des donnees dans ma base sur l'interface web que je vais creer.
1
Bonjour à tous,
je voudrais savoir , le code php qui relie ma base de donnée et mon formulaire pour récupérer le(nom,prenom,classe) dans ma base .
cordialelement
1
oui mais j'en ai besoin c urgen . de l'aide stp
0
je suis pas un programeur mais j'aurais bien voulu t'aider . aidez le les mecs
0