【发布时间】:2023-03-28 20:51:02
【问题描述】:
我正在尝试将表单数据插入到 csv 文件中,即逐行但问题是一个接一个地附加数据,但数据插入到 csv 文件的同一行中。
这是 HTML 表单:
<!DOCTYPE>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form id="form1" name="form1" method="post" action="insert.php">
<table border=1>
<tr>
<td width="30"><span>First Name</span></td>
<td width="30"><input type="text" name="fn" id="fn" /></td>
</tr>
<tr>
<td width="30"><span>Last Name</span></td>
<td colspan="3"><input name="ln" type="text" id="ln" size="50" /></td>
</tr>
<tr>
<td width="71">Address</td>
<td width="10"><input class="" name="address" type="text" id="address" size="100" /></td>
</tr>
<tr><td></td>
<div align="center">
<td><input type="submit" name="Submit" id="Submit" value="Submit" />
<input type="reset" name="Reset" id="button" value="Reset" />
</td>
</div>
</tr>
</table>
</form>
</body>
</html>
这是php程序:
<?php
$first=$_POST["fn"];
$last=$_POST["ln"];
$address=$_POST["address"];
echo "$first <br> $last <br> $address";
if(!empty($first) || !empty($last) || !empty($address)){
$cvsData = $first . "," . $last . "," . $address ;
$fp = fopen("formdata.csv","a"); // $fp is now the file pointer to file $filename
if($fp)
{
fwrite($fp,$cvsData)"; // Write information to the file
fclose($fp); // Close the file
}
}
?>
我第一次插入详细信息:abcd、efgh、ijkl 当我第二次插入详细信息时:abcd,efgh,ijkl
问题出在 csv 文件中,第一行不包括,第二次我插入数据 附加在同一行。如下图所示:请查找。
附加新文件: 我添加时它没有更新: fwrite($fp,$cvsData . "\n "); 请找到快照:
【问题讨论】:
-
你可以看看
fputcsv:php.net/manual/en/function.fputcsv.php