名前、タイトル、本文を投稿することができる掲示板を作成しました。投稿に関してはなんの問題もありません。しかし、投稿が成功したあとに更新ボタンをおすとおなじ投稿が投稿されてしまいます。(タイトルや本文にはなにも入力していなくてもです)なぜこのようなことがおきるのでしょうか。よろしくお願いします。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>board</title> </head> <body> <form method="post" action="guestbook.php"> Name: <input name="name"><br> Title: <input name="title"><br> <textarea name="contents" cols="60" rows="5"></textarea> <input type="submit" name="write" value="送信"> </form> <hr> <?php $contents = $_POST['contents']; $rows=array(); if($contents && $_POST['write']) { $contents = htmlspecialchars($contents); $contents = str_replace("\n", "<br>", $contents); $contents = $contents . "\n"; $row=array( 'name' =>$_POST['name'], 'title' =>$_POST['title'], 'time'=>date("Y/m/d H:i;s"), 'contents' =>$_POST['contents'] ); $fp = fopen('guestbook.txt', 'a'); fputs($fp,$row["name"].":".$row["title"].":".$row["time"].":".$row["contents"]."\n"); fclose($fp); $lines = file('guestbook.txt'); foreach ($lines as $key => $line) { $tmp=explode(":", $line); $arr=array( "name"=>$tmp[0], "title"=>$tmp[1], "time"=>$tmp[2], "contents"=>$tmp[3] ); $arrs[]=$arr; } foreach ($arrs as $arr) { echo "name: ". $arr["name"]."<br>"; echo "title: ". $arr["title"]."<br>"; echo "time: ". $arr["time"]."<br>"; echo "contents: ". $arr["contents"]."<br>"; print "\n<hr>\n"; } } ?> </body> </html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/23 09:48 編集
2016/11/23 12:37