回答編集履歴

1 補足

popobot

popobot score 6451

2016/11/19 17:51  投稿

POST処理を更新すると、再度POST処理が動くので、重複して投稿されると思います。
以下のようにfclose()後ぐらいで、リダイレクトすると解決するかもしれません。
```php
 fclose($file);
 // 自分自身にリダイレクトすることで、更新で再投稿されないようにする
 header('Location: BulletinBoard.php');
 exit();
```
また、データ書き込み処理より先にデータを読み込んでしまっているので、投稿した内容が表示されないのもよくないですね...処理順を逆にした方がいいでしょう。まぁリダイレクト入れたら結果的にうまくいくと思いますけど。
また、データ書き込み処理より先にデータを読み込んでしまっているので、投稿した内容が表示されないのもよくないですね...処理順を逆にした方がいいでしょう。まぁリダイレクト入れたら問題なくなりますが。
----
> MVCを使っておらず、MVCを使って書く場合、どのあたりが、controllerなのでしょうか?
BulletinBoard.phpをMとCでわけるなら...CSV操作している処理をModelに、それ以外のModelの実行やデータをViewに渡す処理をControllerにする感じですかね。無理にわけなくてもいいと思いますけど...
他にCSVを操作する別のPHPがあり、そっちからも共通のModelでデータ処理をやるなら分けるといいかもしれませんね

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る