我想将表单中值的内容放入文本文件中。当在表单中更改选项并单击提交按钮时,用户将被带到另一个页面,其中有关公司地址,网站等的信息一行一行地显示如下:
会员搜索结果:
公司
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;
?>
答案 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";
?>