2014-01-05 11 views
0

У меня есть этот код, который устанавливает куки:PHP печенья странного поведение

$root = $_SERVER['DOCUMENT_ROOT'] . '/account_share'; 
    include_once $root . '/php/objects/user.php'; 

    if (session_status() == PHP_SESSION_NONE) 
    { 
     session_start(); 
    } 

    $user = unserialize($_SESSION['user']); 

    setcookie('email', $user->getEmail(), time()+3600*24*365); //year 
    setcookie('pass', encrypt($user->getPassword()), time()+3600*24*365); //year 

    $response = Array(); 

    if(isset($_COOKIE['email']) && isset($_COOKIE['pass'])) 
    { 
     $response['response'] = 'success'; 
    } 
    else 
    { 
     $response['response'] = 'error';  
    } 

    echo json_encode($response); 

Здесь respone является «успехом» - печенье установлено.

И тогда у меня есть этот код, который я пытаюсь запустить после куки установлены:

if (session_status() == PHP_SESSION_NONE) 
    { 
     session_start(); 
    } 

    var_dump($_COOKIE); 

Здесь я получаю этот результат после сброса:

array(1) { ["PHPSESSID"]=> string(26) "6i2n4tptlhi39f0mglc9v8ab23" } 

Я также проверил мои файлы cookie в настройках хром и не могли найти их.

Примечание:

Я использую (на данный момент) XAMPP на моем локальном компьютере.

Так что же случилось с тем, что я сделал ?!

+0

Это не ясно. Чего вы ожидаете, чего вы пытаетесь достичь? Боюсь, вы как-то путаете файлы cookie. – dkellner

+0

Я не думаю, что вы хотите сохранить пароль в cookie. Нет. – Niels

+0

Если вы просто пытаетесь оставить своего пользователя вошедшим в систему, вы должны просто поместить некоторый флаг входа в $ _SESSION. С какой целью вы используете файлы cookie? – dkellner

ответ

1

Кажется, вы не выбираете домен, для которого вы хотите использовать файл cookie.

Если вы пытаетесь активировать печенья во всей области, изменить ваш setcookie код:

setcookie('cookiename', value, time, '/'); 
+0

Я попытался поместить это: 'setcookie ('cookiename', value, time, '/', 'url');' и это не сработало. это выглядит нормально – vlio20

+1

5-й параметр - это ** домен **, а не ** путь ** - они разные. – GiamPy

Смежные вопросы