戻るボタンを押しても戻れなくする方法
戻るボタンを押しても戻れなくする方法を知りたいです。
HTML ,CSS ,Javascript,PHPで予約システムをつくっています。
支払い後、戻るボタンを押すと、前のページに戻れてしまいます。二重送信防止のため、
支払い後は戻れなくしたいので、解決方法を教えて下さい。
環境:ローカル(mamp)
戻るボタンを押しても戻れなくする方法を知りたいです。
HTML ,CSS ,Javascript,PHPで予約システムをつくっています。
支払い後、戻るボタンを押すと、前のページに戻れてしまいます。二重送信防止のため、
支払い後は戻れなくしたいので、解決方法を教えて下さい。
環境:ローカル(mamp)
セッションとかページ遷移状態を管理して、支払画面に戻るような遷移があったら専用の別ページにリダイレクトする、という方法もありますね。
ていうか、これお仕事のはなしですか?
この程度も自己解決できなくて人様からお金をもらうんですか?
エンジニアとして不適切な発言でした。
大変申し訳ございませんでした。
@kamatamaudon
Questioner
すみません、おっしゃる通りです。
エンジニアとして働き始めてまだ浅く、自己解決できなかったのでQiitaで質問しています(;ω;)
beforeunload
イベントを用いることで、ページを離れようとした時の処理を制御できるのでそちらを用いてみてはいかがでしょうか。
https://developer.mozilla.org/ja/docs/Web/API/Window/beforeunload_event
JavaScript だけで対応するのは難しいので、戻って操作されても大丈夫なように PHP アプリ側で対応することを考えてはいかがですか? どのようなフレームワークを使っているのか書いてないので分かりませんが、セッション変数で制御するなどの方法があるのでは?
対症療法(戻れなくする)のに努力するのではなく、根本的な解決(二重送信ができないようにする)をすることに注力するべきかと。
戻れなくしても他の経路で二重送信ができてしまう恐れがあります。その際にまた対症療法することも可能だとは思いますが、さらに他の経路で問題が発生する可能性があります。
なので目先のコストでは対症療法のほうが小さいことは多々ありますが、全体でみると多少のコストを払ってでも根本解決を図ったほうが良いです。