我正在尝试通过网络表单在csv文件中实现数据存储,我尝试下面的代码保存在" form.html"," form1.php",&#34 ; formTest.csv"这三个都在同一个目录中。
<form id="form1" name="form1" method="post" action="form1.php">
<table class="formatTblClass">
<tr>
</tr>
<tr>
<td width="68"><span>First Name</span></td>
<td width="215"><input class="<?=$aClass;?>" type="text" name="fn" id="fn" /></td>
<td width="62"><span>Last Name</span></td>
<td colspan="3"><input class="<?=$aClass;?>" name="ln" type="text" id="ln" size="50" /></td>
</tr>
<div align="center">
<input type="submit" name="Submit" id="Submit" value="Submit" />
<input type="reset" name="Reset" id="button" value="Reset" />
</div>
</table>
</form>
现在是form1.php脚本
<?php
$fn = $_POST['fn'];
$ln = $_POST['ln'];
if(empty($fn) || empty($ln))
{//show the form
$message = 'Fill in areas in red!';
$aClass = 'errorClass';
}
$cvsData = $fn . "," . $ln . "\n";
$fp = fopen("formTest.csv","a");
if($fp){
fwrite($fp,$cvsData); // Write information to the file
fclose($fp); // Close the file
}
?>
现在formTest.csv文件
如果我在浏览器中运行此操作并再次刷新csv文件,我将获得如下图所示的输出
如何获得正确的用户输入输出?
提前致谢
答案 0 :(得分:0)
<?php
$fn = $_POST['fn'];
$ln = $_POST['ln'];
if(empty($fn) || empty($ln))
{
//show the form
$message = 'Fill in areas in red!';
$aClass = 'errorClass';
}
else
{
$fp = fopen('formTest.csv', 'w');
$cvsData = $fn . "," . $ln . "\n";
fputcsv($fp, $cvsData);//use fputscv()
fclose($fp);
}
?>
答案 1 :(得分:0)
尝试在代码中添加标题:
header("Content-type: text/csv");
答案 2 :(得分:0)
试试这个。
<?php
if(isset($_POST['fn']))
{
$csv=array();// take an array
$fn = $_POST['fn'];
$ln = $_POST['ln'];
$csv[]=$fn;
$csv[]=$ln; //push the values in an array.
if(empty($fn) || empty($ln))
{//show the form
$message = 'Fill in areas in red!';
$aClass = 'errorClass';
}
$fp = fopen("formTest.csv","a");
if($fp)
{
foreach ($csv as $val)
{
fputcsv($fp, $val); //write data in csv file.
}
fclose($fp); // Close the file
}
}
?>