挑戰:
在某些情況下,使用者可能會無意中按下「多次輸入「鍵,導致重複貼文或插入。
替代解決方案:
除了根據標題和內容檢查重複帖子之外,還可以使用其他幾種方法有效防止此問題:
透過JavaScript 停用提交按鈕:
此方法涉及在點擊表單的提交按鈕後停用該按鈕。然而,這並不是萬無一失的,因為用戶仍然可以透過其他方式提交表單,而禁用 JavaScript 的用戶將會受到影響。
以會話為基礎的時間戳記:
PHP 會話可用於在收到貼文時設定時間戳記。在後續提交時,可以檢查當前時間戳記和儲存的時間戳記之間的時間差。如果差異在預先定義的限制內(例如 2 秒),則提交可以標記為重複。
唯一令牌:
為每個 POST 請求產生唯一的令牌,確保提交的表單之前未被發送過。令牌值儲存在會話中並包含在表單的提交中。提交的令牌和會話令牌之間的任何不匹配都表示重複提交嘗試,可以相應地被拒絕。
這些替代方案提供了強大的解決方案來防止表單提交中的多次插入,確保資料完整性並減少重複記錄的可能性。
以上是如何防止 PHP 表單提交中的多次插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!