将表单中的数据提取到文本文件中

时间:2012-02-13 18:40:55

标签: php

我想将表单中值的内容放入文本文件中。当在表单中更改选项并单击提交按钮时,用户将被带到另一个页面,其中有关公司地址,网站等的信息一行一行地显示如下:

会员搜索结果:

公司
800-555-555
地址第1行 地址第2行
网站:http://example.com

虽然文本文件显示为空白。我如何实现我想要的结果? 我的代码:

<html>
<form action="http://*****.com/business_detail_framed.asp" method="post" name="b1">
<Select Name="select_business" onChange="b1.input1.value=b1.select_business[this.selectedIndex].text">
<option value="5102" name="float">Company One</option>
<option value="5053" name="float">Company Two</option>
<option value="5091" name="float">Company 3</option>
</select>
<input value="Submit" type="submit" onchange="this.form.submit()">;
</form>

<?php

file_put_contents("businessinfo.txt", $_POST['float'], FILE_APPEND);

$g = file_get_contents("businessinfo.txt");
echo $g;

$r = $_REQUEST['float'];
$r .= $_POST['float'];

echo $r;


?>

2 个答案:

答案 0 :(得分:3)

name元素的<select>属性为select_business。您应该使用$_POST['select_business']而不是$_POST['float']

HTML <select>元素将通过其自己的name属性在表单post中传递其值,而不是通过其关联的<option>上的任何名称属性传递。

在执行实际文件写入之前,您还应该检查是否已提交$_POST。我还在输出文件中添加了换行符以便于阅读。

if (isset($_POST['select_business'])) {
  file_put_contents("businessinfo.txt", $_POST['select_business'] . "\n", FILE_APPEND);
}

答案 1 :(得分:0)

你并没有真正写信给档案。这是一个关于如何

的例子
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);

您还需要在写作之前判断是否已提交。

所以我会有这样的事情:

<html>
<form method="post" name="b1">
<Select Name="select_business" onChange="b1.input1.value=b1.select_business[this.selectedIndex].text">
<option value="5102" name="float">Company One</option>
<option value="5053" name="float">Company Two</option>
<option value="5091" name="float">Company 3</option>
</select>
<input value="Submit" type="submit" onchange="this.form.submit()">;
</form>

<?php

if ($_REQUEST['Submit']) {

$fp = fopen('businessinfo.txt', 'w');
fwrite($fp, 'selected_business: ' . $_REQUEST['select_business']);
fclose($fp);

header="location http://*****.com/business_detail_framed.asp";

?>