我最近遇到了這個錯誤,我正在構建自定義cms - 當我提交使用多選的表單時出現此錯誤 - 任何人都可以提出最常見的原因對於這個錯誤。Codeigniter(v2)中不允許的關鍵字符錯誤消息
好的 - 我想這可能是造成問題的多選陣列,例如,我有這樣的一個表中的數組..
hotels[url][]
hotels[text][]
hotels[url][]
這會不會在$ _ POST允許嗎?
我最近遇到了這個錯誤,我正在構建自定義cms - 當我提交使用多選的表單時出現此錯誤 - 任何人都可以提出最常見的原因對於這個錯誤。Codeigniter(v2)中不允許的關鍵字符錯誤消息
好的 - 我想這可能是造成問題的多選陣列,例如,我有這樣的一個表中的數組..
hotels[url][]
hotels[text][]
hotels[url][]
這會不會在$ _ POST允許嗎?
這可能是你用GET而不是POST提交表單。多重選擇通常使用數組符號(myarray []),它們是URL中CodeIgniter通常不允許使用的字符。
如果你確信你使用POST,那麼我會建議檢查兩件事情:
我使用POST的形式 – Zabs 2012-02-15 17:16:34
我已經更新了我的答案,包括其他幾種可能性。有時你會因爲CSRF問題而收到消息。 – 2012-02-15 18:35:17
如果您在應用程序/ config文件夾裏面的config.php文件看,你會發現這條線:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
它含有笨允許白名單字符的正則表達式。如果查詢字符串中還有其他內容,則會出現該錯誤。
從輸入名稱中刪除逗號。例如:name ['type']是錯誤的。 它應該是名【類型】
如果(的preg_match(「/^[A-Z0-9:_/- ] + $ | /我」!,$ STR))
我添加| (管道)字符
什麼是錯誤,它出現在什麼時候? – 2012-02-15 16:18:55
嗯,最常見的原因是你在你的輸入中有不允許的字符......(我沒有試圖變得聰明,你問了一個原因,原因是..現在發佈代碼,讓我們看看你爲什麼有那些角色在那裏如果他們不被允許有目的) – 2012-02-15 16:20:18