在PHP中显示来自TXT文件的$ _POST值

时间:2013-06-26 19:17:11

标签: php html

我有一个表单可以提交到下一页。然后在下一页上有一个文本(TXT)文件的include命令。但我想在此文本(TXT)文件中的某些点显示表单数据。

我尝试在txt文件中放置$_POST["firstname"]$_POST["surname"]以显示其名称,但实际文本$_POST["firstname"]$_POST["surname"]出现在网站上而不是这些字段的值。有没有办法在firstnamesurname出现时显示文本文件中的值?

txt文件的其余部分永远不会改变。只是名字会。我尝试过谷歌搜索,但我发现的是如何写入txt文件或读取整个文件。我想要的只是显示文件并更改这些值。

2 个答案:

答案 0 :(得分:2)

这里有几个选项。一种选择是将数据存储在文件文件中,而不是将其存储在PHP文件中。我怀疑你想走这条路,还有另外一个选择。

基本上你要做的就是使用PHP的内置替换函数来删除文本文件中的值,并用上一页中的值替换它们。你可以通过做类似的事情来实现这样的目标:

$search = array("{firstname}", "{surname}");
$replace = array($_POST['firstname'], $_POST['surname']);

$file = file_get_contents("data.txt"); //notice `file_get_contents` instead of include

echo str_replace($search, $replace, $file);

在上文中,我们使用的是file_get_contents而不是include,只需使用$search数组替换$replace数组中找到的所有内容。请注意,您必须在要替换的文本文件中设置值。例如,{firstname}可能会在整个文件中重复,以便以后可以用“John”替换,而{lastname}替换为“Doe”。

答案 1 :(得分:0)

我写了一个简单的模板类,可以轻松地完成你想要的工作。

  1. 复制/粘贴class_simple_template.php内容
  2. 然后像这样使用类:

    //包含类文件

    include_once('class_simple_template.php);

    //实例化模板对象

    $ template = new simple_template('/ path / to / directory / containing / template / file /',$ debug = 0);

    //设置将包含模板文件中占位符名称及其相关替换值的数组:

    $ template_data = array(     'firstname'=> $ _ POST [ '姓名'],     'surname'=> $ _ POST [ '姓'] );

    //加载模板文件并使用实际值插入占位符“tokens”:

    $ final_result = $ template-> return_parsed_file('your_text_file.txt',$ template_data,$ email = false);

    echo $ final_result;

  3. 'your_text_file.txt'的内容将使用这样的占位符:

    Hello {firstname} {surname},

    谢谢{firstname},我们非常感谢....

    等等......