こんにちは,よろしくお願いします。
ユーザ登録で,フォームに入力した内容をデータベースなどに登録する前に,確認するページを表示して,そこで内容を確認してもらって「登録」または,「戻る」ボタンを選択してもらうようなサイトを作ろうと思っています。
ただ,このフォームのページにちょっと細工をしてありまして,県名を選択すると,データベースから,ユーザが所属する会社名(事業所名)を引っ張ってきて,さらに,会社名を選択すると会社のメールアドレス等を表示し,間違っていれば訂正してもらうような内容のページにしたいと考えています。
概要としては,県名や会社名を入力するセレクト要素に,JavaScriptのonchangeイベントを設定して,自分自身にPOST送信して,データベースから住所等の必要なデータを引っ張ってきています。ですからフォームタグの,action ="<?php echo $_SERVER["PHP_SELF"] ?>"です。
データがそろったところで,「送信」(submit)ボタンのdisableを解除して,これをクリックすると,入力値をチェックし要件を満たしていれば,header送信して,セクション変数に値を代入して確認ページまで持ち運び表示しました。
そこで,確認ページから,確認前の入力フォームの状態に戻る方法について疑問を持っています。
IEの戻るボタンを押すと,「警告 : ページの有効期限切れ 要求したページは、フォームで送信された情報を使用して作成されました。このページは、もう利用できません。セキュリティ保護のため、情報は自動的には再送信されません。」と表示されます。さらにここでブラウザの「更新」ボタンを押すと,確認ページ表示前のフォームの状態に戻ります。(firefoxでは,戻るボタンを押すと警告メッセージが表示され,OKボタンを押すと,確認ページ表示前のフォームの状態に戻ります。)
そこで2つ質問があります。このような状態のとき,警告メッセージ等が出ないようにして,確認ページ表示前のフォームの状態に戻る方法を教えてください。
また,「セキュリティ保護のため…」という警告が気になります。このような場合,どのような危険性があるのでしょうか?教えてください。お願いします。
No.1ベストアンサー
- 回答日時:
form を記述したところへ戻って、隠して送ったフラグを参照にして、処理を分けるという方法ではだめでしょうか?
送ったデータは正しければ、テキストボックス内に表示させ、間違いなら、警告するようにすればどうでしょうか?
<?php
if (!(isset($_post['flag']))){
//初めての時の処理・・・多分入力画面の表示だけ
} else { //二度目の時に
if ($_post['flag']==1){ //フラグの値によって処理を分ける
//処理1
} else {}
}
;
//処理
;
?>
<form method='post' action='このファイル'>
<input type='text' name='hoge'>
<!--<input type='hidden' name='flag' value='1'>-->
<!----いろんな入力および、submit---->
<?php //条件によってフラグの値を変える、処理も換える ?>
</form>
rakujinさんありがとうございました。
いろいろと試してみて,submitボタンを2つ設置して,valueの値によって条件分岐させることにしました。
貴重なご意見ありがとうございました。今後ともよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- 確定申告 e-taxで開業届を出す方法がわかりません 1 2022/06/01 19:00
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- gooポイント gooポイントをdポイントに交換できない。 3 2022/04/22 20:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
POSTで受け渡したものを保存し...
-
PHPで値を保持する方法
-
asp.netでのセッションを使用し...
-
まとめ:DBに接続し、値を表示...
-
HTMLエスケープ処理とデーター...
-
こんなことはPHPで可能なのでし...
-
ウェブアプリの設計に問題がな...
-
【Java】投稿完了画面リロード...
-
formの確認ページからformに戻...
-
閉じるボタン「×」を制御したい
-
Dosブロンプトでtabを出力したい
-
DTOとEntityの差は何ですか。
-
バッチファイルでpingの結果を...
-
【C#】DataGridViewの最大列数...
-
オブジェクトの中身の判定(PHP)
-
VBS「開いているページ」のURL...
-
「取得先」という表現について
-
wordの差し込み印刷で文字...
-
WordでExcelデータを差込...
-
switch()文で値の大小比較
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ログイン画面から入って、「戻...
-
POSTで受け渡したものを保存し...
-
ブラウザバックしてもチェック...
-
php 入力画面から確認表示画面...
-
HTMLフォームのデータ引き継ぎ...
-
VBAで重複チェックの仕方を教え...
-
php history.back()の戻るボタ...
-
セッション使用時のフォームの...
-
HTMLエスケープすべき場所につ...
-
PHPで返信メールにチェックボッ...
-
HTMLエスケープ処理とデーター...
-
閉じるボタン「×」を制御したい
-
携帯サイトにお気に入りに登録...
-
ウェブアプリの設計に問題がな...
-
セッションを使用したページ遷移
-
入力系のプログラミング手法に...
-
GETとPOST
-
フォームを使わずにPOST送信す...
-
asp.netでのセッションを使用し...
-
PHPでのログイン機能でのメール...
おすすめ情報