我有一个表单,当我点击提交时,我需要将我发布的数据保存到csv文件中。下面的代码在我的脚本的其他地方生成语法错误,但我知道问题出在这里。有人可以解释我的错误吗?
//Store all data into variables ready to save
if (isset($_POST['submit'])) {
$ID = $_POST['gameID'];
$GameName = $_POST['gameName'];
$GameCost = $_POST['gameCost'];
$Days = $_POST['days'];
$Total = $_POST['total'];
$DateFrom = $_POST['reservationStart'];
$DateTo = $_POST['DateEnd'];
$StudentName = $_POST['studentName'];
//Saving the booking
$csv_file = 'loans.csv';
$csv_handle = fopen($csv_file,'a');
$csv_item = "\"$ID\",\"$GameName\",\"$GameCost\",\"$Days\",\"$Total\",\"$DateFrom\",\"$DateTo\",\"$StudentName\"\n";
fwrite($csv_handle, $csv_item);
fclose($csv_handle);
答案 0 :(得分:1)
你错过了if
的结束括号//Store all data into variables ready to save
if (isset($_POST['submit'])) {
$ID = $_POST['gameID'];
$GameName = $_POST['gameName'];
$GameCost = $_POST['gameCost'];
$Days = $_POST['days'];
$Total = $_POST['total'];
$DateFrom = $_POST['reservationStart'];
$DateTo = $_POST['DateEnd'];
$StudentName = $_POST['studentName'];
} // THIS CLOSING BRACE
//Saving the booking
$csv_file = 'loans.csv';
$csv_handle = fopen($csv_file,'a');
$csv_item = "\"$ID\",\"$GameName\",\"$GameCost\",\"$Days\",\"$Total\",\"$DateFrom\",\"$DateTo\",\"$StudentName\"\n";
fwrite($csv_handle, $csv_item);
fclose($csv_handle);
答案 1 :(得分:1)
最好使用 public void Display(int id)
{
Display(ven => ven.VenueID == id);
}
public void Display(string name)
{
Display(ven => ven.Shortname == name);
}
public void Display(Expression<Func<Venue, bool>> whereClause)
{
Venue venue = db.Venues.Where(whereClause).FirstOrDefault();
/// etc
:
fputcsv
问题很可能是转义输入时出错,但是$csv_file = 'loans.csv';
$csv_handle = fopen($csv_file, 'a'); // a
fputcsv($csv_handle, array($ID, $GameName, $GameCost, $Days, $total, $DateFrom, $DateTo, $StudentName));
fclose($csv_handle);
会为你解决这个问题
答案 2 :(得分:0)
如果要写入文件末尾,请尝试以下操作:
file_put_contents($csv_file, $csv_item, FILE_APPEND | LOCK_EX);
或
$csv_handle = fopen($csv_file,'a');
fwrite($csv_handle, $csv_item);
fclose($csv_handle);