如何在Laravel上使用cookies?

时间:2014-04-17 13:12:12

标签: php cookies laravel

我希望每次用户进入网站时都会打印OK,除了第一次。

我写道:

$cookie =  Cookie::get('cookie_name');
    if(!isset($cookie) || $cookie != 1) {
        Cookie::forever('cookie_name', 1);
    } else {
        echo 'OK';
    }

OK在任何情况下均无法打印。

1 个答案:

答案 0 :(得分:3)

您必须将cookie附加到响应(Response或Redirect对象)才能实际设置它。

试试这个:

$cookie =  Cookie::get('cookie_name');

if(!isset($cookie) || $cookie !== 1) {
    $cookie = Cookie::forever('cookie_name', 1);
    return Response::make('Cookie Set!')->withCookie($cookie);
}

return 'OK';

或者,您可以使用Cookie::queue()将Cookie附加到下一个回复,并避免使用withCookie方法。