前提・実現したいこと
PHPで掲示板を作っています。
掲示板の投稿機能を作成中に二重POSTの問題が発生しました。
該当のソースコード
PHP
1<?php header('http://localhost/php_revise/chapter7/test1_db_insert.php')?> 2<body> 3 <p>投稿するメッセージを入力してください。</p> 4 <form action="board-input.php" method="post"> 5 <input type="text" name="message" required> 6 <input type="submit" value="投稿"> 7 </form> 8</body> 9 10<?php require '../header.php'; ?> 11<?php session_start(); ?> 12<?php echo 'こんにちは、', $_SESSION['customer']['name'], 'さん。'; ?> 13<hr> 14<?php require '../footer.php'; ?> 15 16<?php 17 18$file='board.txt'; 19if (file_exists($file)) { 20 $board=json_decode(file_get_contents($file)); 21} 22 23 24 25if(isset($_POST["message"])){ 26 //タイムゾーンの指定 27 date_default_timezone_set('UTC'); 28 $today = date("Ymd"); 29 //先頭に発言追加 30 array_unshift($board,$_REQUEST['message']); 31 //$board[]=$_REQUEST['message']; 32 file_put_contents($file, json_encode($board)); 33 34 35 foreach ($board as $message) { 36 echo $today,'<p>', $message, '</p><hr>'; 37 //echo $_POST['message']; 38 } 39} 40 41?> 42
試したこと
header関数を用いて自身のURLにリダイレクトさせて二重POSTを防ごうとしているのですが、
header関数をコードの何処に記述すればいいのか分かりません。
追記:すべての処理の前にheader関数で自身にリロードをかけましたが、二重処理が解決できませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/11 06:02
2018/10/11 06:05
2018/10/11 06:09
2018/10/11 06:21
2018/10/11 06:30