作为订阅者获取的一部分,我希望从html表单中获取用户输入的数据,并使用php将其写入制表符分隔的文本文件。所写的数据需要通过制表符分隔并附加在其他数据下方。
点击表单上的订阅后,我希望它删除表单并在div中显示一条小信息,如“感谢订阅”。
这将在wordpress博客上,并包含在弹出窗口中。
以下是具体细节。非常感谢任何帮助。
变量/输入
$Fname = $_POST["Fname"];
$email = $_POST["emailPopin"];
$leader = $_POST["radiobuttonTeamLeader"];
$industry = $_POST["industry"];
$country = $_POST["country"];
$zip = $_POST["zip"];
$ leader是一个双选项单选按钮,其值为“yes”和“no”。
$ country是40个左右的国家/地区。
所有其他值均为文字输入。
我已完成所有基本表单代码并准备就绪,除了操作,我真正需要知道的是:
如何使用php写入制表符分隔的文本文件,并在提交感谢信息后换出表单?
再次感谢您的帮助。
答案 0 :(得分:10)
// 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);
在impode中用\ t替换标签
答案 1 :(得分:3)
以附加模式打开文件
$fp = fopen('./myfile.dat', "a+");
并将所有数据放在那里,标签分开。最后使用新行。
fwrite($fp, $variable1."\t".$variable2."\t".$variable3."\r\n");
关闭文件
fclose($fp);
答案 2 :(得分: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();
通过使用header()函数重定向浏览器,可以避免用户重新加载页面并重新提交数据时出现问题。
答案 3 :(得分:0)
换出表单相对容易。确保将表单的操作设置为同一页面。只需将表单包装在“if(!isset($ _ POST ['Fname']))”条件中。在将表单发布到“else {}”部分之后,放置要显示的任何内容。因此,如果表单已过帐,则会显示“else”子句中的内容;如果表单未发布,将显示“if(!isset($ _ POST ['Fname']))”的内容,即表单本身。您不需要其他文件来使其工作。
要在文本文件中写入POSTed值,只需按照其他人提到的任何方法进行操作。
答案 4 :(得分:0)
这是fwrite()最好的例子,你最多只能使用3个参数,但是附加一个“。”你可以根据需要使用尽可能多的变量。
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);
}
答案 5 :(得分:0)
非常简单: 表格数据将被收集并存储在$ var中 $ var中的数据将写入filename.txt \ n将添加一个新行。 文件附加禁止覆盖文件
<?php
$var = $_POST['fieldname'];
file_put_contents("filename.txt", $var . "\n", FILE_APPEND);
exit();
?>