目前正在从表单中提取值并将其写入文件。
我的表单有两个文本字段和一个下拉列表。下拉列表从文本文件中获取元素。
每次用户编辑表单时都需要创建一个目标文件。
格式如下:
<form method="get" action="index.php" name="">
<input type="text" name="val1" size="" value="">
<input type="text" name="val2" size="" value="">
<?php
$spfile = file("path_of_the_text_file_elements_are_extracted_from");
echo "<select name='sp' value=''>";
foreach($spfile as $value) {
echo "<option value='spval'>$value</option>";
}
echo "</select>";
?>
<input type="submit" name="submit" value="Submit" />
下面是我试图在用户编辑表单时创建文件的代码:
<?php
{
$dest = "destination_file.txt";
$file = fopen($dest,'w');
fwrite($file,"Value1:");
//$value1=$_GET['val1'];
//fputs($file,$Value1);
fwrite($file,"n");
fwrite($file,"Value2:");
fwrite($file,"n");
fwrite($file,"Value3:");
fclose($file);
}
有问题:
- 读取已编辑表单的值,并将这些值写入目标文件。
- 不确定如何使用$_GET下拉列表读取选定的值,并将其写入目标文件。
目标文件应该看起来像:
Value1:(从表单中读取的值)Value2:(从表单中读取的值)Value3:(从表单中读取的值)
您需要首先获得$_GET值才能使用它们
$val1 = htmlspecialchars(trim($_GET['val1'])); // with trim we prevent line changes
$val2 = htmlspecialchars(trim($_GET['val2']));
$val3 = htmlspecialchars(trim($_GET['val3']));
也许你可以把所有的文件写入一行:
$content="Value1:".$val1." Value2:".$val2." Value3:".$val3."";
然后使用下面的代码
$dest = "destination_file.txt";
$fop = fopen($dest,'w');
fwrite($fop, $content);
fclose($fop);
将所有这些组合起来:
$val1 = htmlspecialchars(trim($_GET['val1']));
$val2 = htmlspecialchars(trim($_GET['val2']));
$val3 = htmlspecialchars(trim($_GET['val3']));
$content = "Value1:".$val1." Value2:".$val2." Value3:".$val3."";
$dest = "destination_file.txt";
$fop = fopen($dest,'w');
fwrite($fop, $content);
fclose($fop);
请确保您要写入的目录是可写的(Chmod 777)。
我不建议在实际站点中使用该代码,因为您应该首先检查GET安全性(示例htmlspecialchars()
)