フォームのサブミット後にプログラムが走るようになっている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も見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
ちょっと先の未来クイズ第5問
日本漢字能力検定協会が主催し、12月12日に発表される、2024年の「今年の漢字」に選ばれる漢字一文字は何でしょう?
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
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のエラーの解消法について教...
-
JavaScript変数をPHPへ渡す
-
$_POST['hoge']のデータをフラ...
-
PHPでURLにジャンプするには?
-
フォームにダブルクォーテーシ...
-
フォーム送信後の更新ボタンで...
-
テキストリンクをPOST送信したい
-
PHPで画像の渡しが上手く行きま...
-
入力した部分を表示させたまま...
-
<input type="hidden" >で配列...
-
cachegrind.out.から始まるファ...
-
POSTやGETの変数をフォーム無し...
-
phpで変数を使ってcopyできない
-
$_SERVER['REQUEST_METHOD']と"...
-
HTMLで前の画面に戻る時、入力...
-
$_SESSIONに渡した後はそのまま...
-
複数のラジオボタングループを...
-
検索時の選択内容を保持する方法
-
syntax error, unexpected '}' ...
-
foreachがうまく動かない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム送信後の更新ボタンで...
-
phpで、フォームのラジオボタン...
-
ボタンをクリックでPHP文を実行
-
テキストリンクをPOST送信したい
-
セッションを使わずに遷移先画...
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
$_POST['hoge']のデータをフラ...
-
PHPでファイルアップロード時に...
-
ローカルにあるhtmlのフォーム...
-
javascriptからの検索に関して
-
参照渡しを使う理由がわかりません
-
GETとPOST以外のデータの渡し方...
-
PHPの質問:フォームから受け取...
-
PHPでバーコード読み取りって・...
-
送信ボタンでカウントアップ
-
htmlファイルからphpファイルへ...
-
phpのカウンタのリセット方法
-
フォームのPOST情報が渡らない?
-
フォームに入力された内容を,...
おすすめ情報