<!DOCTYPE html> <html> <head> </head> <body> <form method="post" action="mission_2-3.php"> <input type="text" name="name" placeholder="名前" value=""> <br><input type="text" name="comment" placeholder="コメント" value=""> <input type="submit" value="送信"> <p><input type="text" name="deleteNo" placeholder="削除対象番号"> <input type="submit" name="delete" value="削除"></p> </form> <?php date_default_timezone_set('Asia/Tokyo'); $filename = 'mission_2-1.txt'; $name = $_POST['name']; $comment = $_POST['comment']; $data = file($filename); $count = count($data); $str = $count."<>".$name."<>".$comment."<>".date("Y/m/d H:i:s"); //投稿 if(!empty($comment) && (!empty($name))){ $fp=fopen($filename,'a'); fwrite($fp,$str."\n"); fclose($fp); $file_data = file($filename); foreach($file_data as $key => $value){ $line = explode("<>",$value); echo $line[0]." ".$line[1]." ".$line[2]." ".$line[3]."<br>"; }} //削除 $delete = $_POST['deleteNo']; if(!empty($delete)){ $file_data= file($filename); $fp=fopen($filename,'w'); foreach($file_data as $key => $value){ $line = explode("<>",$value); if($line[0] != $delete){ fwrite($fp,$line[0]." ".$line[1]." ".$line[2]." ".$line[3]); } } fclose($fp); } ?> </body> </html>
削除番号を受け取る
削除番号と一致しなかったら元のテキストファイルに書かれたものを削除番号以外書き込む
こういうようにして削除しようと思うのですが、上手くいきません。解決よろしくお願いします。
「うまく動作しない」「うまくいかない」では何が起きているか伝わりません。「○○のようになるはずなのに××となってしまう」のような形で「ゴール」と「現象(エラーメッセージなども含む)」を明確にしてください。解決するのは質問者さん自身です。この質問の書き方だと丸投げですよ。 https://teratail.com/help/question-tips#questionTips3-4-1
「簡易掲示板」 よくteratailで定期的に質問が投稿されます。それらについた回答は確認されましたか?「mission」という課題感があるものが多いので何かしら参考にはなるのではないでしょうか。
区切り文字てしってるか?
書籍等のサンプルプログラムの様に見えますが、書籍名をお示しいただけますか?
ockeghemさん みんな使うんでしょうか。。。定期的にほぼ同時期に複数見ます。

どう「うまくいかない」のか、説明してくれないとわからないや。違うところを削除しても「うまくいかない」し、全部削除しても「うまくいかない」し、全く削除できなくても「うまくいかない」のだけど、具体的に説明してほしいよね。