我最近在我正在构建的自定义cms中遇到此错误 - 当我提交使用多选的表单时会出现此错误 - 任何人都可以提出此错误的最常见原因。
好的 - 我认为可能是导致问题的多选数组,例如我在表中有这样的数组..
hotels[url][]
hotels[text][]
hotels[url][]
$ _POST中不允许这样做吗?
答案 0 :(得分:2)
如果你查看application / config文件夹中的config.php文件,你会发现这一行:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
这是一个包含codeigniter允许的白名单字符的正则表达式。如果查询字符串中还有其他内容,您将收到该错误。
答案 1 :(得分:1)
可能是您使用GET而不是POST提交表单。多选通常使用数组表示法(myarray []),它们是URL中CodeIgniter通常不允许的字符。
如果你确定你正在使用POST,那么我建议检查两件事:
答案 2 :(得分:1)
从输入名称中删除逗号。 例如:name ['type']错误。 它应该是名称[类型]
答案 3 :(得分:0)
if(!preg_match(“/ ^ [a-z0-9:_ / - ] + $ | / i”,$ str))
我添加|上面例子中的(管道)字符