下記コード(test3.php)において、解決したい問題があります。
php
1<?php 2$success_msg = ''; 3if(isset($_POST)){ 4 5 /** 6 * データベース接続などの処理 7 */ 8 9 $success_msg = '成功'; 10 11 //2重送信防止 12 header('Location:test3.php'); 13 14} 15 16?> 17 18<!DOCTYPE html> 19<html lang="en"> 20<head> 21 <meta charset="UTF-8"> 22 23</head> 24<body> 25 <div> 26 27 <!-- POSTされた後のみ、成功メッセージを表示 --> 28 <?php echo $success_msg; ?> 29 <form action="test3.php" method="post"> 30 <input type="submit" value="送信"> 31 <input type="hidden" name="name" value="1"> 32 </form> 33 </div> 34</body> 35</html>
formによりpostされると、if(isset($_POST))以降の処理がなされますが、なんらかの方法によりpostされ、header関数により、再読み込みされた後のみ、$success_msgを表示するというのは、できないでしょうか?
つまり、header関数による、再読み込みされたページが表示された後、もう一度F5ボタンなどで更新処理を行った場合は、$success_msgは表示されないようにしたいです。ページが初めて読み込まれた場合など、post処理が終わった後、以外では、成功メッセージを表示しない為です。
どなたか、ご助言頂ければ幸いです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/07 07:27 編集
2019/05/07 07:57
2019/05/07 08:08
2019/05/07 08:14