Ошибка «Запрещенный ключевой символ» в CodeIgniter?

Возможный дубликат:
Недопустимые ключевые символы CodeIgniter

Когда я проверяю все флажки (код ниже), он дает мне эту ошибку:

Запрещенный ключевой символ

Вот мой HTML:

<label>Stability Control </label><input type="checkbox" class="largercheckbox" name="checkBox[Stability-Control]"></input><br/> <label>Xenon Headlamps</label><input type="checkbox" class="largercheckbox" name="checkBox[Xenon-Headlamps]"></input><br/> 

В чем проблема? Я думаю, что мой конфигурационный файл разрешает эти символы:

 $config['permitted_uri_chars'] = 'az 0-9~%.:_\-'; 

Следующая функция, найденная в system/core/Input.php запрещает символы.

 function _clean_input_keys($str) { if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str)) ... 

Это позволит az AZ 0-9: _ \ / –

Вы должны расширить класс ввода, создав файл MY_Input.php в /application/core/ и воссоздать метод и добавить любые символы, которые вы хотите разрешить. См. Раздел Создание базовых системных классов для примера, как это сделать.

Однако вы должны быть осторожны с этим, так как вы можете открыть ненужные дыры в безопасности. Вам лучше переписать форму, чтобы она прошла существующую проверку.

Изменить: В этой статье описывается как проблема, так и решение, как описано выше, путем расширения класса ввода.

После обыска, следующие сообщения также показывают, как это делается для решения одной и той же проблемы

  • Недопустимые ключевые символы CodeIgniter

  • CodeIgniter – запрещенные ключевые символы

Хорошо, вот мой ответ

Вы должны сначала перейти к system / core / Input.php и искать функцию, называемую

 _clean_input_keys($str) 

Я не знал, что такое символ, который запрещен здесь, поэтому, когда вы добавляете $ str, как показано ниже

 if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str)) { exit('Disallowed Key Characters.'.$str); // HERE } 

вы получите именно тот персонаж, из-за которого проблема моя была «)», поэтому вам нужно сделать одно из следующих действий: удалить запрещенный символ из html или разрешить ему, как @Ben Swinburne

Надеюсь, что помогите другим