Re: ブラウザで画面を戻れないようにしたい
フォーラムの皆さまへ
いつもお世話になっております。
このたび質問させていただいた件で、アンケート確定後、ブラウザの「戻る」ボタン
で画面を戻ろうとした後、「進む」ボタンをクリックして再度「アンケート回答
ありがとうございます」メッセージを表示させた際、回答内容が記載されていない
空メールが勝手に送信される件で、
コントローラ側のコードを再度見直し、
以下のように対処することで、何とか送信されなくなったようでございます。
【対処方法】
1.システムからユーザ情報を取得(ユーザ情報が取得できた場合2へ進む)
2.1で取得したユーザIDに紐づく受講科目一覧を、Expressの「受講科目」エンティティ
より取得(データが1件以上あった場合、3に進む)
3.アンケート入力画面からPOSTされた科目IDを、2で取得したデータセットと照合
する(見つかった場合4へ進む)
4.3で科目IDと、POSTされた科目IDが一致した場合、受講科目エンティティのフラグ
フィールドのデータを取得して、値が「1」になっていない場合のみ、5へ移動
5.アンケートビューよりPOSTされた各回答データを「アンケートAまたはB」エンティティ
に新規登録
6.「受講科目」エンティティの、該当するデータのフラグを「1」に変更
7.続けて、回答内容をメール送信
この結果、ブラウザの「戻る・進む」ボタンをクリックして、画面を再表示させまして
も、メールは1回しか飛んでこなくなりました。
おそらく、コントローラ側での処理コードでの条件分岐のコンテキストがおかしかった
のではないかと推察しております。
抽象的な質問内容で、大変申し訳ございませんでした。
また、大変お騒がせいたしまして、申し訳ございません。
そのようなわけで、自己解決いたしましたので、ご報告申し上げます。
クライアントサイドのブラウザ操作については、完全には防止できないと思いますので、
アラートを表示させ、画面上のボタンから操作を行うように案内しております。
今後ともなにとぞよろしくお願い申し上げます。