Не могу установить cookie внутри конструкции в codeigniter - PullRequest
0 голосов
/ 30 января 2012

Я пытаюсь установить cookie, если null, но не могу заставить его работать:

public function __construct()
{
    parent::__construct();
    if ($this->input->cookie('ff', TRUE) == FALSE)
    {
        $this->input->set_cookie('ff', 'on', 86500);
        dump($this->input->cookie('ff', TRUE));
    }
}

Что я делаю не так?

Edit: dump() это просто пользовательская функция отладки.

1 Ответ

2 голосов
/ 31 января 2012

Несколько причин, по которым ваш вызов set_cookie может завершиться ошибкой:

1) Вы уже что-то выводили в браузер при вызове set_cookie, и в этом случае вы можете получить сообщение об ошибке / уведомление в виде строкиЗаголовки уже отправлены ».Чтобы это исправить, просто убедитесь, что вызов set_cookie происходит перед отправкой чего-либо в браузер.

2) Если вы занимаетесь локальной разработкой и тестированием, «localhost» не считается допустимым доменом, поэтому куки не будутбыть сохраненным для этого.Обходным решением будет добавить запись в файл хоста, например:

localhost.dev    127.0.0.1

, а затем протестировать с этим доменом вместо «localhost».

...