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

Résolu
midiweb -  
 MmeLaProviseur -
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   Statut Membre Dernière intervention   283
 
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
 
bonjour
comment récupérer des champs de textes saisi d' un formulaire flash dans une page php
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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
nicodhino
 
attention

$server = '...';
$user = '...';
$pass = '...';
$table =formulaire; -> $db=formulaire;
0
midiweb
 
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
Fanny4444
 
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
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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
Tim
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > Tim
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention  
 
en effet, merci de ta réponse,

entre temps et en bidouillant, j'ai pu le remarquer...
0
Tim > kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention  
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > Tim
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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
max
 
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
dark
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   64
 
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
stef
 
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
Sophiste
 
Ton ami google t'aidera, alors, les mots tu comprendra...

*part en sifflotant*
1
Jeff
 
C'est de la triche ça...
1
Jsone
 
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
Bison
 
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
alll
 
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
max
 
oui mais j'en ai besoin c urgen . de l'aide stp
0
manu
 
je suis pas un programeur mais j'aurais bien voulu t'aider . aidez le les mecs
0