前提・実現したいこと
投稿番号、名前、コメント、時間を表示させ、投稿番号と同じ番号が削除フォームから送信された場合その文字だけを消せるようにしたいです。
自分なりに組んだコードではコメントフォームのサイズ変更が反映されておらず、送信しても名前とコメント入力後に追記がされず、数字しか書き込まれません。対処法をお願いします。
該当のソースコード
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>情報入力画面</title> </head> <form action="2-4.php" method="post"> <h1>情報入力フォーム</h1><br> <p>名前<br> <input type="text" name="name"><br> <p>コメント<br> <input type="text" name ="comment" cols="50" rows="5"><br> <input type="submit" value="投稿"><br> <p>削除対象番号<br> <input type="text" name="delete"><br> <input type="submit" value="削除"><br> <?php $filename = "kadai2-2.txt"; $name = $_POST["name"]; $comment = $_POST["comment"]; if (!empty($name) && !empty($comment)) { $number = (int)file_get_contents($filename); $date = date("Y/m/d H:i:s"); $number++; $fp = fopen($filename, "a"); fwrite($fp, "$number'<>'$name'<>'$comment'<>'$date\n"); fclose($fp); file_put_contents($filename, $number); } if (isset($_POST["delete"])) { $delete = $_POST["delete"]; $delCon = file($filename); $a= fopen($filename, "w"); @fwrite($a, ""); fclose($a); for ($j = 0; $j < count($delCon); $j++) { $delDate = explode("'<>'", $delCon[$j]); array_splice($delDate,1); if ($delDate[0] != $delete) { $b = fopen($filename, "a"); @fwrite($b, $delCon[$j]); fclose($b); } elseif ($delDate[0] == $delete) { $c = fopen($filename, "a"); @fwrite($c, "消去しました。\n"); fclose($c); } } } $ret_array = file( $filename ); for( $i = 0; $i < count($ret_array); ++$i ) { $line = explode( '<>', $ret_array[$i]); echo ( $ret_array[$i] . "<br />\n" ); } ?> </form> </body> </html>
できればアップしていただくソースコードはインデントをつけていただけると読みやすいです。
インデントしてほしいね〜