2010-01-05 6 views
4

Dans le cadre d'une acquisition d'abonné, je cherche à saisir les données saisies par l'utilisateur à partir d'un formulaire html et l'écrire dans un fichier texte délimité par tabulation en utilisant php. être séparé par des onglets et ajouté ci-dessous d'autres données.Obtenir l'entrée de l'utilisateur à partir du formulaire, écrire au fichier texte en utilisant php

Après avoir cliqué sur s'abonner sur le formulaire, je voudrais supprimer le formulaire et afficher un petit message comme "merci de s'inscrire" dans la div.

Ce sera sur un blog wordpress et contenu dans un popup.

Vous trouverez ci-dessous les détails spécifiques. Toute aide est très appréciée.

Les variables/entrées sont

$Fname = $_POST["Fname"]; 
$email = $_POST["emailPopin"]; 
$leader = $_POST["radiobuttonTeamLeader"]; 
$industry = $_POST["industry"]; 
$country = $_POST["country"]; 
$zip = $_POST["zip"]; 

leader $ est un bouton radio deux options avec 'oui' et 'non' comme les valeurs.

$ pays est une liste déroulante avec environ 40 pays.

Toutes les autres valeurs sont des entrées de texte.

J'ai tout le code sous forme de base fait et prêt sauf l'action, tout ce que je vraiment besoin de savoir comment faire est:

Comment écrire dans un onglet fichier texte délimité en utilisant PHP et échange le formulaire après la soumission avec un message de remerciement?

Merci encore pour toute l'aide.

+0

https://www.tutorialspoint.com/php/php_files.htm – Dale

Répondre

3

Ouvrir le fichier en mode append

$fp = fopen('./myfile.dat', "a+"); 

Et mettre toutes vos données là-bas, onglet séparé. Utilisez une nouvelle ligne à la fin.

fwrite($fp, $variable1."\t".$variable2."\t".$variable3."\r\n"); 

Fermez votre fichier

fclose($fp); 
9
// the name of the file you're writing to 
$myFile = "data.txt"; 

// opens the file for appending (file must already exist) 
$fh = fopen($myFile, 'a'); 

// Makes a CSV list of your post data 
$comma_delmited_list = implode(",", $_POST) . "\n"; 

// Write to the file 
fwrite($fh, $comma_delmited_list); 

// You're done 
fclose($fh); 

remplacer le, dans le impode avec \ t pour les onglets

0
// format the data 
$data = $Fname . "\t" . $email . "\t" . $leader ."\t" . $industry . "\t" . $country . "\t" . $zip; 

// write the data to the file 
file_put_contents('/path/to/your/file.txt', $data, FILE_APPEND); 

// send the user to the new page 
header("Location: http://path/to/your/thankyou/page.html"); 
exit(); 

En utilisant la fonction header() pour rediriger le navigateur évitez les problèmes avec l'utilisateur rechargeant la page et soumettant à nouveau leurs données.

0

Pour remplacer le formulaire est relativement facile. Assurez-vous de définir l'action du formulaire sur la même page. Enveloppez simplement le formulaire dans une condition "if (! Isset ($ _ POST ['Fname']))". Mettez le contenu que vous voulez montrer après que le formulaire a été posté dans la partie "else {}". Ainsi, si le formulaire est posté, le contenu de la clause "else" sera affiché; Si le formulaire n'est pas publié, le contenu du "if (! isset ($ _ POST ['Fname']))", qui est le formulaire lui-même sera affiché. Vous n'avez pas besoin d'un autre fichier pour le faire fonctionner.
Pour écrire les valeurs POSTed dans un fichier texte, il suffit de suivre l'une des méthodes mentionnées ci-dessus.

0

Ceci est le meilleur exemple avec fwrite() vous pouvez utiliser seulement 3 paramètres au maximum mais en ajoutant un "." vous pouvez utiliser autant de variables que vous le souhaitez.

if isset($_POST['submit']){ 
    $Fname = $_POST["Fname"]; 
    $email = $_POST["emailPopin"]; 
    $leader = $_POST["radiobuttonTeamLeader"]; 
    $industry = $_POST["industry"]; 
    $country = $_POST["country"]; 
    $zip = $_POST["zip"]; 

    $openFile = fopen("myfile.ext",'a'); 
     $data = "\t"."{$Fname}"; 
     $data .= "\t"."{$email}"; 
     $data .= "\t"."{$leader}"; 
     $data .= "\t"."{$industry}"; 
     $data .= "\t"."{$country}"; 
     $data .= "\t"."{$zip}"; 

    fwrite($openFile,$data); 
    fclose($openFile); 
} 
0

Très très simple: données du formulaire seront collectées et stockées dans les données $ var dans var $ seront écrits NomFichier.txt \ n ajoutera une nouvelle ligne. Fichier Append Empêche pour remplacer le fichier

<?php 
$var = $_POST['fieldname']; 
file_put_contents("filename.txt", $var . "\n", FILE_APPEND); 
exit(); 
?> 
Questions connexes