頁面載入時意外插入重複
考慮使用者在遊戲主題網頁上玩各種遊戲的情況。為了維護使用者活動的記錄,實作了一個查詢:
$insert_user_activity = mysql_query("INSERT INTO game_activity (user_id,user_full_name,game_id,game_name) values ('$user_id','$full_name','$browser_id','$game_title')");
此查詢旨在每次使用者啟動遊戲時在「game_activity」表中插入一個新行。然而,用戶遇到了刷新遊戲頁面導致資料庫重複插入的問題。
分析與解決
意外行為源自於有缺陷的前端控制器邏輯。在向網站發出的每個請求期間都會呼叫執行查詢的頁面,無論其有效性如何。這意味著如果使用者刷新遊戲頁面或導航到不存在的資源,查詢仍然會被執行,從而導致不必要的插入。
要解決此問題,必須修改前端控制器的邏輯。它應該只針對有效請求執行應用程序,不包括無效請求。透過解決此缺陷,網站將在上線時避免大量錯誤插入。
以上是為什麼我刷新遊戲頁面後會看到重複的條目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!