Как получить значение 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"
'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