Ethna 二重POST対応
登録処理で二重登録を防ぐ対応。
1.登録画面の前のページ
入力画面かもしくは確認画面か、ほとんどが確認画面だと思う。
<form method=post action=hoge.php> <input type="hidden" name="action_hoge> {uniqid} ← これ : : </form>
{uniqid}に自動的に二重POST対応のhiddenタグが出力される。
2.登録画面後のactionで二重POSTチェック
function perform() { if (Ethna_Util::isDuplicatePost()) { ← ここ // 二重POSTの場合 return 'action_hoge'; } // 登録処理 : : return 'action_hogehoge'; }
Ethna_Util::isDuplicatePost()のreturnがtrueなら二重POSTである。
二重POSTなら登録処理せずにreturnする。
これを最初は、登録処理→エラー→リダイレクトでやってた。
Ethna使いこなせれば便利。使いこなすまでが大変ですが。。