###前提・実現したいこと
PHPでtebleを作るプログラムを作っています。
CSVファイルを読み込んでtableを作るのはうまくいったのですが、データを追記しようとするとうまくいきません。
やり方を教えていただけないでしょうか?
よろしくお願いします!
###発生している問題・エラーメッセージ
Notice: Undefined offset: 1 in C:\xampp\htdocs\php\table\table.php on line 23
Notice: Undefined offset: 2 in C:\xampp\htdocs\php\table\table.php on line 24
Notice: Undefined offset: 3 in C:\xampp\htdocs\php\table\table.php on line 25
###ソースコード
php
1//table.php 2<!DOCTYPE html> 3<html lang="ja"> 4<head> 5 <mata charset="utf-8"> 6 <title>管理画面</title> 7</had> 8<body> 9<!-- ファイルの中身を表示 --><br> 10販売履歴<br><br> 11<table border='1'> 12<tr><td>販売日</td><td>お客様</td><td>販売量</td><td>削減対象</td></tr> 13<?php 14 $fileName = "data.csv"; 15 $file = fopen($fileName, "r"); 16 while(!feof($file)){ 17 $csv = fgets($file); 18 $str = explode(",", $csv); 19 $days = htmlspecialchars($str[0]); 20 $customer = htmlspecialchars($str[1]); 21 $amount = htmlspecialchars($str[2]); 22 $target = htmlspecialchars($str[3]); 23 echo "<tr><td>$days</td><td>$customer</td><td>$amount</td><td>$target</td></tr>"; 24 } 25 fclose($file); 26?> 27</table><br><br> 28<!-- ファイルにデータを追記 --> 29データ追加<br><br> 30<form action="table_insert.php" method="POST"> 31 販売日<br> 32 <input type="text" name="days"><br> 33 お客様<br> 34 <input type="text" name="customer">様<br> 35 販売量<br> 36 <input type="text" name="amount"><br> 37 削減対象<br> 38 <input type="text" name="target"><br> 39 <input type="submit"> 40</form> 41</body> 42</html>
php
1//table_insert.php 2<?php 3 4 $array = array( $_POST['days'], $_POST['customer'], $_POST['amount'], $_POST['target']); 5 $fileName = "data.csv"; 6 $file = fopen($fileName, "a"); 7 if($file){ 8 var_dump(fputcsv($file, $array)); 9 } 10 fclose($file); 11 12?> 13データを追加しました。 14<?php 15 header("Location: table.php"); 16?>
###補足情報(言語/FW/ツール等のバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/03/17 05:36