2015-05-14 3 views
2

Следующие файлы cookie не заданы в codeigniter.CodeIgniter cookie setter issue

$this->load->helper('cookie'); 
if (!$this->input->cookie('xx')) 
{ 
    //Cookie not set, first visit 
    $cookie = array(
     'name' => 'xx', 
     'value' => '1', 
     'expire' => (10 * 365 * 24 * 60 * 60), 
     'path' => '/', 
     'prefix' => '', 
     'secure' => TRUE 
    ); 
    $this->input->set_cookie($cookie); 
} 

Проверил браузер и даже использовали vardump ($ this-> вход-> печенья ('хх')); чтобы получить результат как ложный.

+0

Используйте 'если ($ this-> вход-> печенье ('cookiename')! = '') {// существует } 'Check -> http://stackoverflow.com/questions/25425066/check-if-cookie-exists-in-codeigniter –

+0

В соответствии с документом (http://www.codeigniter.com/userguide2/libraries) /input.html), cookie ('cookiename') возвращает false, если не найден. И это ответ, который я получаю. Файл cookie не установлен. – Vidz

+0

Попробуйте использовать его для определения проблемы: '$ cookie = array ('name' => 'xx', 'value' => '1', 'expire' => '86500');'. Работает ли это для вас? –

ответ

1

Попробуйте удалить безопасный из массива

$this->load->helper('cookie'); 
if (!$this->input->cookie('xx')) 
{ 
    //Cookie not set, first visit 
    $cookie = array(
     'name' => 'xx', 
     'value' => '1', 
     'expire' => (10 * 365 * 24 * 60 * 60), 
     'path' => '/', 
     'prefix' => '' 
    ); 
    $this->input->set_cookie($cookie); 
} // This may work 
0

Http соединения был использован и, следовательно, печенье не будет установлен, если переменная «безопасный» была установлена ​​истина. Codeigniter uses setcookie() to set the value

Поэтому удаление безопасное значение успешно установить куки и может получить значение