日期:2014-05-17  浏览次数:20496 次

设置cookie问题

if(isset($_COOKIE['history']))
{
$history = explode(',', $_COOKIE['history']);

    array_unshift($history, $id);
    $history = array_unique($history);

    while (count($history) > 5)
    {
        array_pop($history);
    }

setcookie('history',implode(',', $history),80000);
echo 'add';
}
else
{
setcookie('history',$id,80000);
echo 'new';
}


为什么一直都是输出new呢

------解决方案--------------------
你设置的失效期太小了!

你应该认真看一下说明
expire Cookie 过期的时间。这是个 Unix 时间戳,即从 Unix 纪元开始的秒数。换而言之,通常用 time() 函数再加上秒数来设定 cookie 的失效期。或者用 mktime()来实现。
time()+60*60*24*30 将设定 cookie 30 天后失效。
如果未设定,cookie 将会在会话结束后(一般是浏览器关闭)失效。