Почему cookie laravel равен нулю - 5.7

мой файл cookie нулевой! Но я не знаю:

use Illuminate\Support\Facades\Cookie;

HomeController:

public function index()
{
    Cookie::queue('currentLang', 'heb', 999999999);



      $cat1         = $this->categoryRepo->findCategoryById(1);
      $lastPosts    = $this->blogPosts->listBlogPosts(array('*'),'id','desc')->take(3);

    return view('front.index', compact('cat1','lastPosts'));
}

теперь я хочу получить этот ключ от другого контроллера:

LoginController:

public function showLoginForm()
{
    dd(Cookie::get('currentLang'));
    return view('auth.login');
}

но он возвращает ноль! Я работаю на localhost.

см. этот stackoverflow.com/questions/39052612/… может вам помочь. Проблема может быть связана с шифрованием файлов cookie с помощью laravel

Sagar Gautam 10.12.2018 18:48
Cookie::queue(... используется для прикрепления файла cookie к вашему ответу (альтернативный вариант) согласно документации. Если вы посмотрите заголовки ответов, то заметите, что Set-Cookie: currentLang=someencryptedvalue действительно существует. Кроме того, поскольку вы создали файл cookie с помощью Laravel, Laravel знает, как получить этот файл cookie, проблема не связана с шифрованием.
adam 10.12.2018 19:15
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
1 047
1

Ответы 1

Cookie::queue(... используется для прикрепления файла cookie к вашему ответу (альтернативный вариант) согласно документации. Если вы посмотрите заголовки ответов, то заметите, что Set-Cookie: currentLang=someencryptedvalue действительно существует.

Я создал несколько прототипов конечных точек, чтобы проиллюстрировать создание и удаление файлов cookie:

use Illuminate\Support\Facades\Cookie;

Route::get('/wont-clear-cookie', function() {
    Cookie::forget('currentLang');

    return redirect()->to('/get-cookie');
});

Route::get('/clear-cookie', function() {
    Cookie::queue(Cookie::forget('currentLang'));

    return redirect()->to('/get-cookie');
});

Route::get('/set-cookie', function() {
    Cookie::queue('currentLang', 'heb', 999999999);

    return redirect()->to('/get-cookie');
});

Route::get('/get-cookie', function() {
    dump(Cookie::get('currentLang'));
    dd(request()->cookie('currentLang'));
});

Вышеупомянутые конечные точки должны быть размещены в web.php.

Также убедитесь, что ваша группа промежуточного программного обеспечения web правильно настроена в App\Http\Kernal.php:

'web' => [
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    // \Illuminate\Session\Middleware\AuthenticateSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    \App\Http\Middleware\VerifyCsrfToken::class,
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

он возвращает значение nul.

S.M_Emamian 10.12.2018 19:48

убедитесь, что ваши маршруты находятся внутри вашей группы промежуточного программного обеспечения Интернета и что группа промежуточного программного обеспечения web настроена правильно.

adam 10.12.2018 19:52

Другие вопросы по теме