Récupérer données formu dans un fichier texte
Lola
-
amandine -
amandine -
Bonjour,
depuis un moment je cherche une réponse à mon problème sur les forums, mais je ne trouve rien, j'espère que vous pourrez m'aider.
Je suis débutante en php et je voudrais récupérer les données d'un formulaire et les transmette dans un fichier texte.
J'ai créer un mini site qui vend des fruits et légumes (simulation pour mes cours) et je le client doit remplir un formulaire pour commander les produits et s'identifier.
Il faudrait donc créer un fichier texte pour les produits et un autre pour les renseignement sur les clients.
Voici mon formulaire pour les renseignements client:
et voici le formulaire pour les produits :
Merci d'avance
depuis un moment je cherche une réponse à mon problème sur les forums, mais je ne trouve rien, j'espère que vous pourrez m'aider.
Je suis débutante en php et je voudrais récupérer les données d'un formulaire et les transmette dans un fichier texte.
J'ai créer un mini site qui vend des fruits et légumes (simulation pour mes cours) et je le client doit remplir un formulaire pour commander les produits et s'identifier.
Il faudrait donc créer un fichier texte pour les produits et un autre pour les renseignement sur les clients.
Voici mon formulaire pour les renseignements client:
<form method="post" name="formulaire" ACTION="que_faut_il_mettre??" >
<fieldset><legend><b><h4>Vos détails personnels</h4></b></legend>
<table>
<tr>
<td>Civilité : </td>
<td><input type="radio" name="civilité" value="Mr">Mr
<input type="radio" name="civilité" value="Mme"> Mme
<input type="radio" name="civilité" value="Mlle"> Mlle</td>
</tr>
<tr>
<td>Nom :</td>
<td><input type="text" size="40" maxlength="40" name="nom" ></td>
</tr>
<tr>
<td>Prénom :</td>
<td><input type="text" size="40" maxlength="40" name="prenom"></td>
</tr>
<tr>
<td>Courriel :</td>
<td><input type="text" size="40" maxlength="40" name="mail" OnBlur="validite('formulaire','mail','EMAIL',0,50);"></td>
</tr>
</table>
<div align="left"><h5>Votre adresse email doit être valide, elle est indispensable pour valider votre commande.</h5></div>
</fieldset>
<fieldset><legend><b><h4>Votre adresse</h4></b></legend>
<table>
<tr>
<td>Adresse complète :</td>
<td><textarea name="adresse" ROWS="5" COLS="35"></textarea></td>
</tr>
<tr>
<td>Téléphone :</td>
<td><input type="text" size="40" maxlength="40" name="telephone" OnBlur="validite('formulaire','telephone','N',10,10);"></td>
</tr>
</table>
<div align="left"><h5>10 chiffres sans espaces. Nous pouvons vous contacter en cas de problèmes lors de la préparation de votre commande</h5></div>
</fieldset>
<fieldset><legend><b><h4>Information de livraison</h4></b></legend>
<table>
<tr>
<td><INPUT type="radio" NAME="lieu" VALUE="domicile">Domicile</td>
</tr>
<tr>
<td><INPUT type="radio" NAME="lieu" VALUE="autreadresse">Autre adresse</td>
<td>Précisez : <TEXTAREA value="adresse2" name="lieu" ROWS="5" COLS="35"></TEXTAREA></td>
</tr>
</table>
</fieldset>
<fieldset><legend><b><h4>Information de paiement</h4></b></legend>
<table>
<tr>
<td>Méthode de paiement</td>
</tr>
<tr>
<td><INPUT type="radio" NAME="paiement" VALUE="chèque">Chèque à l'ordre : fruits et légumes</td>
</tr>
<tr>
<td><INPUT type="radio" NAME="paiement" VALUE="carte">Carte bancaire</td>
</tr>
</table>
</fieldset>
<fieldset><legend><b><h4>Validation</h4></b></legend>
<table>
<tr>
<td><input type="submit" value="Valider" OnClick="check_vide();"></td>
<td><input type="reset" value="Annuler"></td>
</tr>
</table>
</fieldset>
<div align="left"><h4>ATTENTION : Tous les champs du formulaire doivent être <b>impérativement</b> remplis.</h4></div>
</form>
et voici le formulaire pour les produits :
<form method="post" name="formulaire" action="formulaire.html"> <table> <tr> <td><img src="image/ananas.jpg"></td> <td width="50" align="center"><INPUT type="checkbox" NAME="fruitexotique" VALUE="ananas2"></td> <td>Ananas<br>Quantité : 2 <br>Origine : Cayenne</td> <td>Prix : 5.00€</td> </tr> <tr> <td><img src="image/jaque.jpg"></td> <td align="center"><INPUT type="checkbox" NAME="fruitexotique" VALUE="jaque"></td> <td>Jaque décortiqué<br>Poids : 350g <br>Origine : Antille</td> <td>Prix : 5.25€</td> </tr> <tr> <td><img src="image/abricot.jpg"></td> <td align="center"><INPUT type="checkbox" NAME="fruitexotique" VALUE="abricot"></td> <td>Abricot des Antilles<br>Poids : 500g<br>Origine : Antilles</td> <td>Prix : 4€</td> </tr> <tr> <td><img src="image/papaye.jpg"></td> <td align="center"><INPUT type="checkbox" NAME="fruitexotique" VALUE="papaye"></td> <td>Papaye<br>Poids : 500g <br>Origine : Antilles</td> <td>Prix : 3.20€</td> </tr> <tr> <td><img src="image/noixdecoco.jpg"></td> <td align="center"><INPUT type="checkbox" NAME="fruitexotique" VALUE="noixdecoco"></td> <td>Noix de coco<br>Quantité : 2<br> Origine : Malaisie</td> <td>Prix : 4.50€</td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Envoyer"></td> <td colspan="2" align="center"><input type="reset" value="Annuler"></td> </tr> </table> <form>
Merci d'avance
A voir également:
- Récupérer données formu dans un fichier texte
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
16 réponses
Avant de regarder ton code, je me permet de te poser une petite question ^^ :
As-tu déjà essayé d'utiliser la base de données ? (Parce que c'est préférable pour ce genre d'informations.)
C'est plus simple à gérer et plus sécurisé pour un site commercial : Disons que tout stocker sur des fichiers, si quelqu'un trouve l'adresse du fichirer d'un membre/client, c'est foutu pour lui.
As-tu déjà essayé d'utiliser la base de données ? (Parce que c'est préférable pour ce genre d'informations.)
C'est plus simple à gérer et plus sécurisé pour un site commercial : Disons que tout stocker sur des fichiers, si quelqu'un trouve l'adresse du fichirer d'un membre/client, c'est foutu pour lui.
C'est pour mes cours et l'exercice est de ne pas utiliser de base de données.
Puis le site ne sera pas héberger donc il n'y aura pas de problème de sécurité.
Puis le site ne sera pas héberger donc il n'y aura pas de problème de sécurité.
OK ! ^^
Alors attends, j'ai fait un truc similaire pour enregistrer les logs sur mon site :
Les données des clients seront ajoutées à la ligne du dessous, à chaque fois.
Est-ce que ça t'aide ? :)
Alors attends, j'ai fait un truc similaire pour enregistrer les logs sur mon site :
$inF = fopen($_SERVER['DOCUMENT_ROOT']."/Clients.txt", "a"); // ouvre le fichier Clients.txt pour y inscrire les infos fputs($inF, "*****"); fclose($inF);remplace les ***** par les infos que tu veux enregistrer, ça peut être du texte, avec tes variables de type $_POST[''] etc... tu peux aussi faire comme ça :
<table> include 'infos_clients.php'; </table>dans le fichier infos_clients.php, tu auras par exemple ça :
<? $inF = fopen($_SERVER['DOCUMENT_ROOT']."/Clients.txt", "a"); // ouvre le fichier Clients.txt pour y inscrire les infos fputs($inF, "<tr> <td>$variable1</td> <td>$variable1</td> <td>$variable1</td> </tr>"); fclose($inF); ?>Voilà.
Les données des clients seront ajoutées à la ligne du dessous, à chaque fois.
Est-ce que ça t'aide ? :)
Merci de m'aider mais je suis vraiment débutante en php donc j'ai pas tout bien compris.
Je préfère la première méthode car elle correspond plus à mon exercice.
J'ai créé clients.php :
Dans mon formulaire j'ai mi :
Puis j'ai créé clients.txt vide.
Est ce que c'est bien ça qu'il fallait faire ??
A la soumission de mon formulaire la page clients.php s'ouvre blanche et quand j'ouvre le fichier clients.txt rien n'est écrit à l'intérieur.
Qu'est ce que je dois changer ?
Encore merci pour ton aide.
Je préfère la première méthode car elle correspond plus à mon exercice.
J'ai créé clients.php :
<? $nom=$_POST['nom']; $inF = fopen($_SERVER['DOCUMENT_ROOT'].'/clients.txt', 'a'); // ouvre le fichier clients.txt pour y inscrire les infos fputs($inF, $nom); fclose($inF); ?>
Dans mon formulaire j'ai mi :
<form method="post" name="formulaire" ACTION="clients.php" >
Puis j'ai créé clients.txt vide.
Est ce que c'est bien ça qu'il fallait faire ??
A la soumission de mon formulaire la page clients.php s'ouvre blanche et quand j'ouvre le fichier clients.txt rien n'est écrit à l'intérieur.
Qu'est ce que je dois changer ?
Encore merci pour ton aide.
En fait peu importe la méthode du moment que j'arrive à récupérer les informations.
Expliquer moi celle qui est la plus simple....
Merci
Expliquer moi celle qui est la plus simple....
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui j'ai enregistré clients.txt dans le même dossier que le site.
Ne faut il rien changer dans le script ??
Ne faut il rien changer dans le script ??
essaye avec
$inF = fopen('clients.txt', 'a'); // ouvre le fichier clients.txt pour y inscrire les infos
Merci ça marche...
Par contre j'ai 2 formulaires à la suite, j'en ai un premier pour valider les articles puis quand on le valide on va sur la page formulaire.html qui permet de donner les informations de l'utilisateur. (je n'ai pas trouver d'autre moyen que ça !!)
Dois je fonctionner de la même manière pour récupérer les données ??
Par contre la méthode est
Ensuite encore une autre petite question :
Peut on associer les 2 fichiers texte( un pour les clients, l'autre pour les articles) afin d'en créer un autre qui associerait le client à ses articles ??
Merci
Par contre j'ai 2 formulaires à la suite, j'en ai un premier pour valider les articles puis quand on le valide on va sur la page formulaire.html qui permet de donner les informations de l'utilisateur. (je n'ai pas trouver d'autre moyen que ça !!)
Dois je fonctionner de la même manière pour récupérer les données ??
Par contre la méthode est
method="get"car ça me met une erreur lorsque je met
method="post".
Ensuite encore une autre petite question :
Peut on associer les 2 fichiers texte( un pour les clients, l'autre pour les articles) afin d'en créer un autre qui associerait le client à ses articles ??
Merci
Quand je disais ça y est,ça marche j'avais essayé juste pour récupérer une donnée, mais la j'essaye d'en récupérer plusieurs et ça ne marche pas :
que dois je mettre entre mes différentes variables ??(surement pas une virgule comme j'ai mi !!)
que dois je mettre entre mes différentes variables ??(surement pas une virgule comme j'ai mi !!)
fputs($inF, $civilite, $nom);
ah oui c'est vrai...
j'ai tout mi à la suite mais ça me met une erreur. Parse error: parse error in c:\users\hp\documents\projet\clients.php on line 12
j'ai tout mi à la suite mais ça me met une erreur. Parse error: parse error in c:\users\hp\documents\projet\clients.php on line 12
fputs($inF, $civilite $nom);
Merci cela marche...
et si je veux qu'à chaque validation du formulaire les données s'écrivent sur une nouvelle ligne, que dois je ajouter ??
j'ai essayé avec <br> et \n mais ça ne marche pas tout s'affichent à la suite donc c'est difficile de différencier chaque client.
et si je veux qu'à chaque validation du formulaire les données s'écrivent sur une nouvelle ligne, que dois je ajouter ??
j'ai essayé avec <br> et \n mais ça ne marche pas tout s'affichent à la suite donc c'est difficile de différencier chaque client.
oui j'y pensais, c'est pour ça que j'ai proposé une table :
tu crés une page clients.php, puis tu y écris
et pour enregistrer les infos de clients t'as juste à ajouter que ça s'enregistre entre les tr et td :
(essaye quand même avec le <br /> et de lire avec un fichier php, ça peut être suffisant)
tu crés une page clients.php, puis tu y écris
<html> <? echo "<table>"; include 'clients.txt'; echo "</table>"; ?></html>
et pour enregistrer les infos de clients t'as juste à ajouter que ça s'enregistre entre les tr et td :
fputs($inF, "<tr><td>$civilite $nom</td></tr>");Tu pourras tout lire sur clients.php ! :)
(essaye quand même avec le <br /> et de lire avec un fichier php, ça peut être suffisant)
bon b tu vas voir que je suis pas très douée...
Dans clients.php :
Est ce que c'est ça ou il faut écrite des trucs autre part??
Et ensuite pour voir les infos dans le tableau, faut bien ouvrir le fichier clients.php ???
Là ça me mets des erreurs donc je suppose que ce n'est pas bon...
Je suis un peu perdu là !!
Merci encore :) :) :)
Dans clients.php :
<?
$civilite=$_POST['civilité'];
$nom=$_POST['nom'];
$inF = fopen('clients.txt', 'a'); // ouvre le fichier clients.txt pour y inscrire les infos
fputs($inF, "<tr><td>$civilite $nom</td></tr>");
echo "<table>";
include 'clients.txt';
echo "</table>";
fclose($inF);
?>
Est ce que c'est ça ou il faut écrite des trucs autre part??
Et ensuite pour voir les infos dans le tableau, faut bien ouvrir le fichier clients.php ???
Là ça me mets des erreurs donc je suppose que ce n'est pas bon...
Je suis un peu perdu là !!
Merci encore :) :) :)
En fait je viens de me rendre compte que c'est pas du tout ça qu'il fallait faire ...
Mais quoi ??? LOL je suis vraiment pas douée !!!
Mais quoi ??? LOL je suis vraiment pas douée !!!
dans clients.php
<?
$civilite=$_POST['civilité'];
$nom=$_POST['nom'];
$inF = fopen('clients.txt', 'a'); // ouvre le fichier clients.txt pour y inscrire les infos
fputs($inF, "<tr><td>$civilite $nom</td></tr>");
fclose($inF);
?>dans un autre qui te sert à consulter les données enregistrées (par exemple look.php) :<? echo "<table>"; include 'clients.txt'; echo "</table>"; ?>:)
Merci, en plus je venais juste d'y penser.
Est ce que tu as une idée pour mon autre problème posé avant...
J'ai 2 formulaires, 2 fichiers texte... et comment récupérer les données de mon premier formulaire avec get ????
:)
Est ce que tu as une idée pour mon autre problème posé avant...
J'ai 2 formulaires, 2 fichiers texte... et comment récupérer les données de mon premier formulaire avec get ????
:)
avec get il faut que les infos soient présentes dans l'adresse. C'est à dire que pour récupérer $_GET['nom'] il faut que le nom soit spécifié dans l'url comme ça par exemple :
http://www.domaine.com/page.php?civilite=Mme&nom=Parmentier&prenom=Elsa
$_GET['civilite'] = Mme
$_GET['nom'] = Parmentier
$_GET['prenom'] = Elsa
la méthode get n'est pas géniale pour conserver les accents et faut changer le action=..., mais bon, je connais mal cette méthode donc et je pourrais pas trop t'aider pour ça...
Je te conseille plutôt dans le second formulaire de récupérer les valeurs du premier dans des
c'est quoi le message d'erreur qu'il t'affiche quand tu mets post ?
http://www.domaine.com/page.php?civilite=Mme&nom=Parmentier&prenom=Elsa
$_GET['civilite'] = Mme
$_GET['nom'] = Parmentier
$_GET['prenom'] = Elsa
la méthode get n'est pas géniale pour conserver les accents et faut changer le action=..., mais bon, je connais mal cette méthode donc et je pourrais pas trop t'aider pour ça...
Je te conseille plutôt dans le second formulaire de récupérer les valeurs du premier dans des
<input type="hidden" value="$_POST['civilite']" name="civilite">comme ça tout reste contenu dans le premier et à la validation du second formulaire les données des deux sont envoyée, tu peux donc enregistrer ce que tu veux dans un seul fichier txt.
c'est quoi le message d'erreur qu'il t'affiche quand tu mets post ?
Le message d'erreur est :
Dans l'adresse j'ai bien
The requested method POST is not allowed for the URL /Conception Internet/Projet2/formulaire.html.
Dans l'adresse j'ai bien
http://127.0.0.1/... à la validation de mon premier formulaire.
Et j'ai essayé avec le champ caché :<input type="hidden" value="$_POST['fruitbio']" name="fruitbio">et<input type="hidden" value="$_get['fruitbio']" name="fruitbio">
mais il ne récupère aucune valeur.
et dans clients.php j'ai rajouté :$fruitbio = $_POST['fruitbio'];
Autrement tu n'a pas une autre idée que de mettre 2 formulaires à la suite.
Dans tout les site de vente il y a un panier mais je ne sais pas le faire... Peut être qu'il y a une méthode plus simple....
Merci