我想實現一個用戶無法發送兩次相同的輸入。我使用php腳本來提交用戶輸入。php會話驗證
我的想法是將他的輸入保存在會話數組中,並且每次他提交某些數組檢查時,如果它匹配他之前提交的其中一件事情。
的代碼看起來是這樣的:
//Compare post with what user has posted so far; if the same, exit (spam protection)
foreach($_SESSION['postarray'][] as $postarray) if($post=$postarray) exit;
//Save post in session of all other posts
$_SESSION['postarray'][]=$post;
我收到以下錯誤:
致命錯誤:無法使用[]在/應用程序讀取/ XAMPP/xamppfiles/htdocs中/ postish /動作/第32行的post.php(指向foreach()循環的行)
即使將函數更改爲僅$ _SESSION ['post array'],也不起作用。
任何幫助非常感謝:)
丹尼斯
錯誤消息表明''[]「語法」是錯誤的。嘗試刪除空括號。而'='是用於分配的。 '=='是爲了條件。 –
粗心的錯誤...謝謝! – weltschmerz
作爲實施方法,前提存在根本性缺陷。你如何處理不斷增長的會議?爲什麼不在存儲層?我懷疑你真的想阻止用戶多次提交同一個表單的實例 - 在這種情況下,這應該在客戶端進行管理。另見CSRF預防。 – symcbean