
phpにて在庫記録を作成していますが、データ入力後の確認画面にて<input type="button" onclick="history.back()" value="戻る">のボタンを押下すると、mysqlにデータが登録されてしまいます。
データ確認画面にて入力確定ボタン<form method="post" action="k-thanks.php"><input name="nyryoku1" type="submit" value="入力確定"></form>の『入力確定』ボタンを押下した時だけにDBに値を登録したいです。
ちなみに、データ確認画面にて、『戻る』ボタンを押下後、値を修正し、またデータ確認画面にて『入力確定』ボタンを押下すると、修正前と修正後のデータ2つがDBに登録されてしまいます。
『戻る』ボタンでDBに値が登録されないようにする方法や、何かしらのヒント、アドバイスをいただけますようお願い致します。
No.1ベストアンサー
- 回答日時:
データ登録の基本はページ分け
入力ページ→確認ページ→登録ページ→登録完了ページ
という構成にすれば、登録完了ページからもどるのは確認ページなので
二重登録は発生しない
・入力ページ
データを入力、確認ページにはPOSTでデータ送信
・確認ページ
登録してよいか、わるいかだけジャッジする。
入力ページからもらったデータはセッションで保存する
・登録ページ
確認ページからもらったセッションデータを利用して登録する
登録に成功した場合は、登録完了ページへ
失敗した場合は登録エラーページへ
必要であればセッションデータをクリアする
ただし・・・history.backを元にページを作るのはあまりお勧めできない
yambejpさん。いつもいつも分かりやすい説明ありがとうございます!!
考えすぎて頭が固くなってしまいました・・・。
もし、よろしければ簡単で良いので、history.backを使用するのはおすすめ出来ない理由をご教示いただけますでしょうか?
まだまだ、勉強不足で申し訳ないです。
No.2
- 回答日時:
Javascriptのhistory.back()を使用して問題ない仕様なのでしょうか?
戻る先のページはサーバ側のプログラムが更にその前のページでの入力内容を受け取って処理して生成しているページはありあませんか?
また、最終的な処理結果を格納するMySQL上のテーブルのキーは画面上で利用者が入力したり、あるいはプログラムが決めて登録前のページに表示したりしているデータ項目ではなく、最終的にテーブルへのデータ登録を行うプログラムが自動生成する項目ということでしょうか?
二重に登録されるという事はそのように見えます。
そして「作成中の機能としてそれは本当に適当なのか?」とも思います。
zircon3さん回答いただきありがとうございます!!
結果としては、SQLでテーブルにデータを登録するページを分けることで大丈夫でした!!
勉強がてら入出庫の記録簿をwebページで作ろうと思っていて、phpとSQL初心者なので、「Javascriptのhistory.back()を使用して問題ない仕様」の理由が分からないです・・・。
参考書にはhistory.back()での記載だったので・・・。
色々と勉強しないとですね・・・。
また、質問すると思いますので、その際にはご返信いただくと嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GETのメリットについて
-
jspで作った入力フォーム内...
-
ブラウザの戻るボタンで重複登...
-
PHPでSESSIONによる変数の引き継ぎ
-
PHP+MySQLからHTMLページを自動...
-
動的にhtmlテーブルを表示
-
IFRAME内PHPのセッション変数取...
-
ページに時間制限
-
PHP+Mysqlによる会員制サイト
-
リストボックスにテキスト入力...
-
cURL関数を使用したphpからのpo...
-
ログイン画面から入って、「戻...
-
バッチファイルでpingの結果を...
-
Dosブロンプトでtabを出力したい
-
Access2000 CopyFromRecordset...
-
Yahoo! JAPAN IDを新規取得でき...
-
wordの差し込み印刷で文字...
-
Global.asaについて
-
特定のHPが表示されず。windows...
-
【C#】DataGridViewの最大列数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IFRAME内PHPのセッション変数取...
-
PHPで値を保持する方法
-
POSTで受け渡したものを保存し...
-
cURL関数を使用したphpからのpo...
-
php 入力画面から確認表示画面...
-
htmlspecialcharsについて
-
php history.back()の戻るボタ...
-
セッションを使用したページ遷移
-
ログイン画面から入って、「戻...
-
ブラウザの戻るボタンで重複登...
-
「ページネーション」で検索キ...
-
閉じるボタン「×」を制御したい
-
動的にhtmlテーブルを表示
-
PHP+MySQLからHTMLページを自動...
-
ブラウザバックしてもチェック...
-
PHP+MySQLで型の整合について
-
HTMLエスケープ処理とデーター...
-
登録確認メールのリンクURLにメ...
-
PHP スマーティ
-
VBAで重複チェックの仕方を教え...
おすすめ情報