php cookies奇怪的行为

时间:2014-01-05 13:23:59

标签: php cookies web

我有这个设置cookie的代码:

    $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);

此处的响应是'成功' - 设置了Cookie。

然后我有这个代码,我尝试在设置cookie后运行:

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

    var_dump($_COOKIE);

这里我在转储后得到这个结果:

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

我还在Chrome设置中检查了我的Cookie,但找不到它们。

注意:

我在我的本地电脑上使用(现在)xampp。

那么我做了什么错了?!

1 个答案:

答案 0 :(得分:1)

您似乎没有选择要使用Cookie的域名。

如果您尝试激活整个域中的Cookie,请修改您的setcookie代码:

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