PHP Cookies не устанавливаются - PullRequest
       0

PHP Cookies не устанавливаются

1 голос
/ 24 декабря 2011

Я использую CodeIgniter для создания веб-приложения для моих законов. Я пытаюсь создать функцию «Помни меня», но не могу установить файлы cookie ни на своем общем хосте, ни локально.

Я пробовал и CI-cookie, и PHP setcookie (), но ни одна из них не работает.

PHP:

$token = $this->random(32, $this->input->post('userPassword'));
$cookie_value = '{"email":"'. $this->input->post('userEmail') .'","token":"'. $token . '"}';

if ( setcookie('remember_me', urlencode($cookie_value), 1000000, '/') )
{
    echo "Set Val: " . json_encode($cookie_value);
}

CI:

$this->load->helper('cookie');
$token = $this->random(32, $this->input->post('userPassword'));
$cookie_value = '{"email":"'. $this->input->post('userEmail') .'","token":"'. $token . '"}';

if ( set_cookie('remember_me', urlencode($cookie_value), 1000000, '/') )
{
    echo $this->input->cookie('remember_me');
    echo "Set Val: " . json_encode($cookie_value);
}

Кажется, что оба работают, поскольку они попадают внутрь блока if, но они не устанавливают cookie ни в Chrome, ни в Firefox.

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

1 Ответ

3 голосов
/ 24 декабря 2011

Для начала вы устанавливаете истечение срока действия файла cookie во времени, поэтому он немедленно истекает.

Так вот:

setcookie('remember_me', urlencode($cookie_value), 1000000, '/')

Должно быть:

setcookie('remember_me', urlencode($cookie_value), time()+1000000, '/')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...