質問: fopen($filename,'a'); fwrite($fp, $newdate."\n"); fclose($fp); } //削除番号に数字が入力された場合 $files=file('mission_2-1_shima.txt'); if(!empty($delete)){//条件分岐1 //ファイルの中身を空にする $fp=fopen($filename,'w'); // ファイルを0に丸める ftruncate($fp,0); // ファイルポインタを先頭に戻す fseek($fp,0); foreach ($files as $file){//ループ処理1 $words=explode("<>",$file); if($words[0] != $delete){//条件分岐2 fwrite($fp,$file); }}//条件分岐2とループ処理2おわり fclose($fp); }//条件分岐1おわり echo "{$words[0]}{$words[1]}{$words[2]}{$words[3]}{$words[4]}"; echo ""; ?> ```
回答: 削除と登録 formを別けては。 ``` ``` それか、ボタンをinputではなくbuttonタグにして、nameとvalueをつけて分岐させる ``` 登録 削除 ``` ``` if($_SERVER['REQUEST_METHOD'] === 'POST'){ $sendmode = $_POST["mode"]; switch($sendmode){ case "add": // 登録処理 break; case "delete": // 削除処理 break; } } //取得処理 //表示処理 ``` 雛形コード ===== 私ならこういう風に作る という形の雛形を作りました。 それぞれ何をやっているか分からなければ調べてください。 出来上がっていない段階ではエラー表示は常時Onにしてどのようなエラー(変数未定義など警告レベルのものも含む)がおきても確認し、対応するようにしてください。 ``` Insert title here 登録 削除 ``` 注意点: 1. 登録処理や削除処理をしてからデータを取得すること。現在のコードだとdeleteのときしかデータ取得して内容に見受けられる。一緒にしない。 2. 入力内容のチェックを行って必須項目や文字数オーバー(ここは仕様)のときはエラーメッセージを出すようにして登録処理・削除処理を行わないこと nameとかcommentに