Codeiginiter не может создавать cookie - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь создать cookie с codeigniter за 2 дня -.- (Мне было стыдно задавать вопрос раньше ...)

Кто-нибудь захочет объяснить мне, что не так с этим кодом:

    $websiteUrl = preg_replace("/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/","$1", base_url());
    $this->load->helper('cookie');

    $cookie = array(
               'name'   => 'rememberMe',
               'value'  => $this->encrypt->encode(serialize($serialize)),
               'expire' => (time() + $this->config->item('remember_me')),
               'domain' => '.'.$websiteUrl,
               'path'   => '/',
               'prefix' => 'chv_',
               'secure' => false,
           );

    set_cookie($cookie);

Ответы [ 2 ]

0 голосов
/ 22 ноября 2011

Убедитесь, что перед запуском set_cookie не загружается лишний пробел, который запрещает отправку заголовка cookie в браузер.Я потратил много часов на поиск этой проблемы и обнаружил, что у меня есть дополнительное место в конце закрывающего тега.Если вы включите E_WARNING, это должно выявить проблему.

0 голосов
/ 22 ноября 2011
$this->input->set_cookie($cookie)

($this - это экземпляр CI)

Убедитесь, что $this->config->item('remember_me')> 0


Я много раз работал с CI и всегда использовал встроенную функцию setcookie (), потому что мне действительно не нужна какая-либо инфраструктура для установки cookie (это простая операция) ... Но согласно документации, использующей экземпляр CI и ввод данныхCI->input->set_cookie() должен сделать эту работу. Помните, что НЕТ РАМКИ - это на 100% идеальная работа ... Это всего лишь фреймворк ... Вы можете отлаживать пошаговый код CI, чтобы увидеть, что происходит.

(из комментария)

...