Récupérer les valeurs d'un formulaire html dans un fichier texte ou xml

Bonjour,

J’ai crée un formulaire html dont je voudrais récupérer les saisies effectuées par les internautes dans un fichier xml ou texte.
Pour l’instant je ne peux le récupérer que par mail, individuellement.

Avez vous une idée?

Merci pour votre aide.

Bonjour,

Je ne voit pas où est le soucis.
Les utilisateurs remplissenet un formulaire, tu récupère ensuite les données.
Lorsque tu récupères ces données, tu as simplement a les écrire dans un fichier texte.
Voici le premier lien que j’ai trouvé pour écrire dans un fichier.

Bonjour Merlon,

J’ai fait exactement comme le tutoriel voici mon code ci dessous:
Le code du formulaire:


<form method="post" action="formmail.php" >
<input type=hidden name=subject value=Petition>

<img src="exemple_petition.png" alt="Petition" />
<table>
<tr><td>Votre Nom:</td>
    <td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Prénom:</td>
    <td><input type=text name=realname2 size=30></td></tr>
<tr><td>Votre Email:</td>
    <td><input type=text name=email size=30></td></tr>
    <td><input type="radio" name="age" value="Lu et approuvé(e)" id="Lu et approuvé(e)" /> <label for="medium25-40">Lu et approuvé(e)</label><br /></tr>

<tr><td colspan=2>Commentaires:<br>
  <textarea COLS=50 ROWS=6 name=comments></textarea>
</td></tr>
</table>

	<!-- On affiche l'image générée par notre script -->
<tr><p><img src="verif_code_gen.php" alt="Code de vérification" /></p></td>

<p><label>Merci de taper le code de l'image ci-dessus</label> : <input type="text" name="verif_code" /></p></td>
<br> <input type=submit value=Envoyer> -
     <input type=reset value=Annuler>
	 


<!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style addthis_32x32_style">
<a class="addthis_button_preferred_2"></a>
<a class="addthis_button_preferred_3"></a>
<a class="addthis_button_preferred_4"></a>
<a class="addthis_button_compact"></a>
<a class="addthis_counter addthis_bubble_style"></a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4e0c36a42cfe31d0"></script>
<!-- AddThis Button END -->

</form>


et voici le code php liée:


<?php
session_start(); // L'image utilise les sessions. On les active donc ici, car on a besoin de ces informations.
$debut_html = '<html>
<head>
<title>Inscription</title>
</head>
<body>
<p>';
$milieu_html = NULL;
$fin_html = '</p>
</body>
</html>';

if(IsSet($_POST['verif_code']) AND !Empty($_POST['verif_code'])) { // Le champ du code de confirmation a été rempli
     if($_POST['verif_code']==$_SESSION['aleat_nbr']) { // Si le champ est égal au code généré par l'image
          $milieu_html = 'Vous avez entré le bon code de confirmation !';
		  $TO = "z@zelya.com";
		  $h = "From:";
          $message = "";
          while (list($key, $val) = each($HTTP_POST_VARS)) {
          $message .= "$key : $val\n";
          }
          mail($TO, $subject, $message, $h);
          Header("Location: remerciement.html");
	 else {
			$milieu_html = 'Votre code de confirmation n\'est pas bon ! Merci de réessayer.';
	 }
		  
		  /* Récupération des valeurs des champs du formulaire */
		$realname = $_POST['realname'];
		$realname2 = $_POST['realname2'];
		$prenom = $_POST['prenom'];
		$email = $_POST['email'];
		$comments = $_POST['comments'];
		
		// traitement creation du fichier *txt
		if($fp = fopen("http://www.zelya.com/petition/recuperation.txt","a")){ /* ouverture du fichier en écriture !c'est la ligne 17 */
		fputs($fp, "\n"); // on va a la ligne
		fputs($fp, "$realname#$prenom#$realname2#$email#$comments#"); // on écrit le nom et email dans le fichier
		fclose($fp);
		}
			
}
else {
    $milieu_html = 'Vous devez remplir le champ du code de confirmation !';
}

// Là, on affiche toute la source générée :
echo $debut_html . $milieu_html . $fin_html;

?>

Mon formulaire ainsi que tous les fichiers associées se trouvent sur le ftp accessible en ligne.

Maintenant lorsque je vais voir mon fichier “recupération.txt”, il y a rien dedans.

Je ne vois pas l’erreur ici.

Merci de votre aide
Bes

Bonjour,

Le “fopen(“http://www.zelya.com/petition/recuperation.txt”” me parait bizarre. J’avais plus l’habitude de partir du répertoire en cours et d’aller dans celui que je veux.

A ta place, je remplirai manuellement le fichier txt et j’essaierai de le lire par programation, juste pour voire.

es-tu sûr que ton ouverture se fait correctement ?
Tu devrais rajouter (temporairement) une partie else à ton if histoire d’en être sûr

Plutôt :

if(false!== ($fp = fopen("http://www.zelya.com/petition/recuperation.txt","a"))){
  // OK
} else {
  // ERREUR
}

A noter qu’il faut pouvoir accéder au web depuis la machine faisant le fopen, ce qui n’est pas forcément gagné (et si le fichier est en local, c’est pas tip top…)

Et peut d’hébergeurs le supportes

Il faut aussi vérifier que le fichier ou tu stock tes données puisse être modifier par le serveur (pas de restriction):wink: