2007年10月6日 星期六

如何避免表單的重複送出(PHP)

你是否遇到過「重複送出」的問題?要解決這個問題其實並不難。這裡有一個簡單的方法避免同一表單的重複提交。
首先,我們可以定義一個session變量用來保存一個表單的提交序列號。這裡我定義為
「$userLastAction」。然後在表單裡加入一個hidden變量,把值設為
<input type=Hidden name=lastAction value=<? =$userLastAction+1 ?>>

最後,在處理提交之前判斷表單是否已被送出過:

if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // 序列號加1
// 處理表單數據
}

【下列文章您可能也有興趣】

沒有留言: