フォームのサブミット後にプログラムが走るようになっているtest.phpがあるのですが、フォーム送信後に更新ボタンを押しても再度ポストされるようになってしまっています。
ブラウザの更新ボタンを押したときには、ポストせずにフォームをクリアしたいのですが、どうすればできますでしょうか?
<form method="post" action="<?php print($_SERVER['PHP_SELF']); ?>">
<input type=text name=aaa>
<input type="submit" name="submit" value="submit">
</form>
<?php
if($_POST['submit']) { 処理 }
?>
No.1ベストアンサー
- 回答日時:
fabuさん、こんにちは。
> フォームのサブミット後にプログラムが走るようになっているtest.phpがあるのですが、フォーム送信後に更新ボタンを押しても再度ポストされるようになってしまっています。
これはブラウザの仕様だと思います^^;
更新ボタンを押したときに「送信ボタンを押したとき」
をもう一度実行しています。
私の場合は、送信されたときの処理をどんな出力よりも上で行い、
処理後にheader()で自分自身のページへリダイレクトするようにしています。
これでページを開いた最初の状態に戻ります。
<?php
// header()でリダイレクトするので
// どんな出力よりも先に行う。
if($_POST['submit']) {
/* 処理 */
header("Location: {$_SERVER['PHP_SELF']}");
exit;
}
?>
<form method="post" action="<?php print($_SERVER['PHP_SELF']); ?>">
<input type=text name=aaa>
<input type="submit" name="submit" value="submit">
</form>
どうしても出力後にif($_POST['submit'])を
行わないといけない場合は、
メタタグのリフレッシュを使うといいかもしれません。
ありがとうございます!
キャッシュ関係かと色々やっていたのですが、そうではなかったのですね。。今回はPOSTの結果を表示する処理なのでリダイレクトは無理なようです。ありがとうございます。すごく理解できました!
No.3
- 回答日時:
同じ処理をもう一度実行するからですね。
送信データをセッションに残しておいて、
更新ボタンを押した時にセッションの中身と比べて処理するのはどうでしょう?
ありがとうございます。
比較して同じ場合は処理をせずリダイレクトで、というようなやり方で試してみたいと思います。ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
formで送信したPOSTデータの削除について
PHP
-
フォームへの前回入力値をクリアーする方法は?
PHP
-
フォームでのリセットを使う方法
PHP
-
-
4
フォームで戻った際に入力済みの値が残るのを消したい
PHP
-
5
$_POST['hoge']のデータをフラッシュするには
PHP
-
6
フォーム内で記入したクエリ送信後自動的にフォーム内をリセットする方法
JavaScript
-
7
POSTで受け渡したものを保存したいです。
PHP
-
8
データ送信をボタンを押さずに行いたいのですが...
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーム送信後の更新ボタンで...
-
PHPのエラーの解消法について教...
-
PHPでファイルアップロード時に...
-
テキストリンクをPOST送信したい
-
PHPの質問:フォームから受け取...
-
PHP ボタンが押されたら処理を...
-
パラメーターを隠す
-
laravelを利用してコントロール...
-
<input type="hidden" >で配列...
-
テキストボックスに初期値を入れる
-
php sprintfの中で、ifのような...
-
HTMLで前の画面に戻る時、入力...
-
チェックボックスによる検索(...
-
DOMNodeのtextContentで日本語...
-
ドロップダウンで送信先を変更...
-
DBの値をチェックボックスに反...
-
画面が更新されてもチェックボ...
-
リストボックス 複数選択のデ...
-
チェックボックスによる検索
-
検索後にチェックボックスのON/...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム送信後の更新ボタンで...
-
phpで、フォームのラジオボタン...
-
ボタンをクリックでPHP文を実行
-
テキストリンクをPOST送信したい
-
セッションを使わずに遷移先画...
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
$_POST['hoge']のデータをフラ...
-
PHPでファイルアップロード時に...
-
ローカルにあるhtmlのフォーム...
-
javascriptからの検索に関して
-
参照渡しを使う理由がわかりません
-
GETとPOST以外のデータの渡し方...
-
PHPの質問:フォームから受け取...
-
PHPでバーコード読み取りって・...
-
送信ボタンでカウントアップ
-
htmlファイルからphpファイルへ...
-
phpのカウンタのリセット方法
-
フォームのPOST情報が渡らない?
-
フォームに入力された内容を,...
おすすめ情報