phpで掲示板に削除機能(指定した番号の項目を削除)をつけようと考えております。
以下のようなプログラムを組んだのですが、削除フォームに番号を打ち込んでも削除されません。
プログラム を実行した際にエラーもでないのでどこに原因があるかもわからず悩んでいます。
どなたか改善点を教えていただけませんか?
<!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>簡易掲示板</title> </head> <body> <form action="keijiban.php" method="post"> 名前<input type="text" name="name" ><br /> コメント<input type="text" name="comment"><br /> <br /> <input type="submit" value="送信" /> </form> <form action="" method="POST"> 削除対象番号<input type="text" name="deleteNo"> <input type="submit" name="delete" value="削除"> </form> <?php $filemei = 'keijiban.txt'; $num = file_exists($filemei) ? 1+count(file($filemei)) : 1; $str = $num. '<>' . $_POST['name'] . '<>' . $_POST['comment'] . '<>' . date('Y-m-d-H-i-s') . "\n"; $posts = file("keijiban.txt"); foreach($posts as $post){ list($num, $name, $message, $time) = explode("<>", $post); echo h($num); echo "<br>"; echo h($name); echo "<br>"; echo h($message); echo "<br>"; echo h($time); echo "<br>"; } function h($s) { return htmlspecialchars($s, ENT_QUOTES, "UTF-8", true); } if (isset($_POST["delete"])) { $delete = $_POST["deleteNo"]; $delCon = file("keijiban.txt"); for ($j = 0; $j < count($delCon) ; $j++){ $delData = explode("<>", $delCon[$j]); if ($delData[0] == $delete) { array_splice($delCon, $j, 1); file_put_contents($dataFile, implode("\n", $delCon)); } } } $fp = fopen("keijiban.txt", "r"); fclose($fp); $fp = fopen('keijiban.txt','a'); fwrite($fp, $str); fclose($fp); ?> </body> </html>
回答3件
あなたの回答
tips
プレビュー