Включение $ _GET в codeigniter

Я пытался выяснить, как включить $ _GET в CI.

Кажется, что платформа сознательно уничтожает $ _GET массив, и что включение его требует серьезного переделывания базовых классов. кто-либо может сказать, почему это, и как преодолеть его?

обратите внимание, я надеюсь сохранять парсинг URI и маршрутизацию путем, они - просто имеют $ _GET доступный также.

11
задан Nir Gavish 11 January 2010 в 16:16
поделиться

2 ответа

Добавьте следующую библиотеку в свои библиотеки приложений. Он переопределяет поведение библиотеки ввода по умолчанию при очистке массива $ _GET. Это позволяет смешивать сегменты URI и строку запроса.

application / libraries / MY_Input.php

class MY_Input extends CI_Input 
{
    function _sanitize_globals()
    {
        $this->allow_get_array = TRUE;
        parent::_sanitize_globals();
    }
}

Также необходимо изменить некоторые параметры конфигурации. Параметр uri_protocol необходимо изменить на PATH_INFO и знак '?' необходимо добавить символ в список разрешенных символов в URI.

application / config / config.php

$config['uri_protocol'] = "PATH_INFO";
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-?';

Затем можно получить доступ к значениям, переданным через строку запроса.

$this->input->get('x');
14
ответ дан 3 December 2019 в 03:35
поделиться

Из руководства MUDICIGNITER о безопасности :

GET, POST и Cookie

Получить данные просто запрещены Codeigniter Так как система использует Сегменты URI, а не традиционные Строки запросов URL (если у вас нет опция строки запроса включена в вашем Конфигурация файла). Global Get Array unset по классу ввода во время системы Инициализация.

Прочитайте это ввод форума для возможных решений ( получает интересную от на полпути вниз Page 1 ).

9
ответ дан 3 December 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: