Как получить значение cookie в CodeIgniter? - PullRequest
9 голосов
/ 20 июня 2011

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

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

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

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

Ответы [ 7 ]

18 голосов
/ 20 июня 2011

Посмотрите документацию: Справочник по Codeigniter Cookie *

В нем сказано, что вы должны использовать $this->input->cookie() для получения куки:

$this->input->cookie('test_cookie', TRUE);
5 голосов
/ 08 февраля 2012

Это сработало для меня на локальном хосте, может потребоваться усиление безопасности для сервера

$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));  

Срок действия должен быть числовым, удаленный путь и значение защиты установлено в false

3 голосов
/ 28 января 2012

Если вы используете Google Chrome, используйте элемент inspect, чтобы увидеть, был ли установлен cookie ... Я думаю, вы можете сделать это в FF, но я не использовал FF некоторое время ... У меня была только одна проблема с файлами cookie, и это было то, что я настраивал домен для своего действующего домена ... Итак, у меня есть код cookie, подобный этому:

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

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

Здесь видно, что в Google Chrome отображается «Инструмент проверки элементов»

Google chrome displaying the_cookie value

1 голос
/ 04 ноября 2016

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

$this->input->cookie('cookie_name', TRUE);  //with xss filtering 
$this->input->cookie('cookie_name');        //without xss filtering
1 голос
/ 20 апреля 2016
'secure' => TRUE

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


просто установить

'secure' => FALSE 

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

0 голосов
/ 25 марта 2013

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

$config['global_xss_filtering'] = TRUE;

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

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

$this->input->cookie('cookie_name'); 
0 голосов
/ 20 июня 2011

Загрузите вспомогательный файл 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

...