前提
いつもお世話になっております。
今回お聞きしたいのはリダイレクト対策についてです。
お問合せフォームでのバリデーションでエラーを起こし、そこから再度お問合せフォーム入力後、確認画面からプラウザの戻るボタンを押すと「フォーム再送信の確認」というものが出て来てしまいます。
リダイレクト対策を調べるとheader関数を使うということはわかったのですが、これを確認画面のphpのどこに記載するのかがわからず、一週間ほど悩んでいます。
どのように書けばいいか教えていただけ無いでしょうか?
それか他に使った方がいい関数があったりするのでしょうか?
実現したいこと
確認画面からプラウザの戻るボタンを使用した際、フォームの再送信をし無いようリダイレクト対策したい。
発生している問題・エラーメッセージ
書く箇所によってはこんな風に出て来てしまいます。
該当のソースコード
conf.php
1session_start(); 2 3require './htmlspecial.php'; 4 5if(isset($_SESSION['form'])){ 6 $form= $_SESSION['form']; 7} else { 8 header('Location: cont.php'); 9 exit(); 10} 11 12if($_SERVER['REQUEST_METHOD'] === 'POST'){ 13 // 情報を消してから完了画面へ 14 unset($_SESSION['form']); 15 header('Location: complete.php'); 16} 17 18//ここを何度も書き直している 19header('Location: conf.php',); 20exit();
試したこと
//ここを何度も書き直している
ここの箇所を一番上にしたり、if($_SERVER['REQUEST_METHOD'] === 'POST'){ ここの中にかき入れたりなどしました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。


回答1件
あなたの回答
tips
プレビュー