php - laravel cookie 在发布数据后不起作用

标签 php laravel cookies laravel-5

我正在使用 laravel 5.2,我想创建 REST api(简单,只需登录),我有以下代码:

Route::get('/login', function() {
    dd(Cookie::get('token'));
});

Route::post('/login', function () {
    $name = Request::get('login');
    $password = Request::get('password');
    if (!empty($name) && !empty($password)) {
        $user = App\User::where('name',$name)->first();
        if ($user)
        {
            if ($user->password === sha1($user->salt . $password))
            {
                $tokenCookie = Cookie::queue('token',sha1($user->name),10);
                return Response::make()->withCookie($tokenCookie);
            } else {
                echo 'nieprawidłowe hasło';
            }
        } else {
            echo 'brak konta w bazie danych';
        }
    } else {
        return 'brak danych';
    }
});

问题是 cookie 不起作用。我的意思是,在我发送 POST 信息后,一切正常(我没有任何 echo ,所以应该没问题),但是当我转到/login 页面时,我有“空”响应。看来cookie没有设置。帮忙?

最佳答案

由于您使用的是 Laravel 5.2,因此需要确保任何需要使用 session 信息(例如 cookie)的路由都位于 web 中间件组内。

Route::group(['middleware' => ['web']], function () {
    Route::get('/login', function() {
        // code
    });

    Route::post('/login', function () {
        // code
    });
});

关于php - laravel cookie 在发布数据后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34705872/

相关文章:

php - "failed to open stream"执行"migrate:make"时出错

php - 多语言 .htaccess 重定向到子域

php - 如何验证 PayPal 返回数据?

css - 在 laravel 中链接 CSS 图片 URL

php - 使用现有的迁移表进行 Laravel 单元测试

java - Spring:无法将 SameSite cookie 设置为 None

javascript 如何简单地设置和检索 cookie

php - 在 JS 中处理数组值

php - 什么是 ORM? Eloquent ORM?

jquery - 如何在jquery cookie中存储数组?