初めてのシステムと日記

システムも日記も初めてです。

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使いこなせれば便利。使いこなすまでが大変ですが。。