Как получить значение cookie в CodeIgniter?

Я могу распечатать значения сеанса в codeigniter по print_r($this->session->userdata); Как я могу распечатать куки в codeigniter? Я только что установил cookie:

$cookie = array(
          'name'   => 'test_cookie',
          'value'  => 'test',
          'domain' => '/',
          'secure' => TRUE
          );

$this->input->set_cookie($cookie); 

Как я могу распечатать вышеуказанный файл cookie?

7 ответов


посмотрите на документацию:Codeigniter Cookie Helper Руководство

Он говорит, что вы должны использовать $this->input->cookie() чтобы получить cookie:

$this->input->cookie('test_cookie', TRUE);

это сработало для меня на localhost, безопасность может потребоваться для сервера

$this->load->helper('cookie');     
$cookie = array(
                    'name'   => 'data',
                    'value'  => '23',
                    'expire' =>  86500,
                    'secure' => false
                );
                $this->input->set_cookie($cookie); 
                var_dump($this->input->cookie('data', false));  

Expire должен быть числовым, удален путь и установлен безопасный в false


Если вы используете google chrome, используйте элемент inspect, чтобы узнать, установлен ли файл cookie... Я думаю, вы можете сделать это в FF, но я не использовал FF некоторое время... У меня была только одна проблема с cookies и что я сидел домена на домен... Таким образом, у меня есть код cookie:

        $this->load->helper('cookie');

         $cookie = array(
           'name'   => 'the_cookie',
           'value'  => 'test value here',
           'expire' => '15000000',
           'prefix' => ''
        );
        $this->input->set_cookie($cookie);

здесь вы можете увидеть, что он появляется в Google Chrome "Inspect Element Tool"

Google chrome displaying the_cookie value


'secure' => TRUE

это не позволяет мне получить cookie.


просто набор

'secure' => FALSE 

и посмотреть, что это может сработать.


задание security => TRUE не позволит печатать значение cookie в local, он только предоставляет доступ к защищенным соединениям только поэтому он не будет печатать ничего в localhost для вас, если вы не установите security => FALSE чем использование codeigniter CI_Input class вы можете получить значение cookie

$this->input->cookie('cookie_name', TRUE);  //with xss filtering 
$this->input->cookie('cookie_name');        //without xss filtering

Если код, упомянутый ниже, не предоставляет никаких выходных данных, измените application / config / config.в PHP файл и установка этого:

$config['global_xss_filtering'] = TRUE;

$this->input->cookie('cookie_name', TRUE);

иначе просто используйте это, он отобразит значение

$this->input->cookie('cookie_name'); 

загрузите помощник cookie с помощью:

$this->load->helper('cookie');

затем получить приготовления пищи с:

$cookieData = get_cookie("cookie_name");

Примечание, это псевдонимы для использования класса ввода, вы также можете получить и установить куки, как так:

$cookieData = $this->input->get_cookie("cookie_name");

источник http://ellislab.com/codeigniter/user-guide/helpers/cookie_helper.html