Я недавно столкнулся с этой ошибкой в пользовательских cms, которые я создаю – эта ошибка появляется, когда я отправляю форму, которая использует мультиселекцию. Может ли кто-нибудь предложить наиболее распространенные причины этой ошибки.
ok – я думаю, что это могут быть массивы с несколькими выборами, вызывающие проблему, например, у меня есть такой массив в таблице.
hotels[url][] hotels[text][] hotels[url][]
Не разрешено ли это в $ _POST?
Возможно, вы отправляете свою форму с помощью GET вместо POST. Multi-selects обычно используют нотацию массива (myarray []), которые являются символами, которые обычно не разрешены CodeIgniter в URL-адресе.
Если вы уверены, что используете POST, я бы предложил проверить две вещи:
Если вы посмотрите в файле config.php внутри папки application / config, вы найдете эту строку:
$config['permitted_uri_chars'] = 'az 0-9~%.:_\-';
Это регулярное выражение, содержащее символы в белом списке, которые разрешает код. Если в запросе есть что-то еще, вы получите эту ошибку.
удалите запятые из ваших имен ввода. Например: имя ['type'] неверно. Это должно быть имя [type]
if (! preg_match ("/ ^ [a-z0-9: _ / -] + $ | / i", $ str))
Я добавляю | (трубы) в примере выше