Как исправить чтение куки после перенаправления назад? - PullRequest
0 голосов
/ 02 мая 2019

Я написал простой код, который перенаправляется обратно после нажатия кнопки.Редирект с cookie, но когда я читаю его, он зашифрован, как я могу прочитать расшифрованное значение cookie?

Как это работает?У меня есть FrontendController, который включает в себя макет, и когда я меняю стиль, он вызывает через маршрут / s / dark

Домашняя страница контроллера вызывает функцию Frontend, которая расширена, и после этого мне нужно прочитать cookie,но он зашифрован.

function setStyle($style = "light") {
    if($this->cookie->getCookie('style') == "light") {
        $style = "dark";
    } else {
        $style = "light";
    }

    return redirect()->back()->withCookie(cookie('style', $style));
}

EDIT

1009 * Я ожидаю свет значение в печенье, но у меня что-то вроде этого eyJpdiI6IitEUWc2WDlBT1l3bDcyNW1YbnlcL3RBPT0iLCJ2YWx1ZSI6IlNRQ2ZhcG5INE1iNVwvalZMTjFOZVBRPT0iLCJtYWMiOiJmOTFkYTU1ZTY0MTU5NDVhMjQzYWFhZTQxNzdkZGRlZDJkNThhMDU0YTE0YjYwMDU4NzZmYTI2ZTk5ZWIyY2Y1In0 =

1 Ответ

0 голосов
/ 02 мая 2019

Вы можете использовать сеанс вместо cookie в Laravel.

Для хранения данных сеанса:

$request->session()->put('key', 'value');

Для извлечения данных сеанса:

$value = $request->session()->get('key');

Скажем, у вас есть кнопка с надписью «Переключить стиль на темный» и значением «темный».Когда стиль не темный, он говорит «Переключить стиль на свет» и имеет значение «светлый».Вы нажимаете кнопку, которая приводит вас к контроллеру, который устанавливает стиль в сеансе:

function setStyle(Request $request) 
{
    $style = $request->style;
    $request->session()->put('style', $style);

    return redirect()->back();
}

Теперь скажите в контроллере, когда вы показываете свою страницу, вы хотите, чтобы страница отображалась как «светлая» или «светлая».темный ».

public function index()
{
    $style = $request->session()->get('style');

    if ($style == 'light') {
        // do your light thing
        $buttonText = "Switch style to dark";
    } else {
        // do your dark thing
        $buttonText = "Switch style to light";
    }


           // return redirect with style
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...