Как создать и сохранить значение сеанса после выхода из системы

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

это код выхода из Laravel

 public function logout(Request $request)
    {
        $this->guard()->logout();

        $request->session()->invalidate();

        return redirect('/');
    }
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
0
573
1

Ответы 1

Вот что вы можете сделать:

сначала получите все данные, которые хотите сохранить.

затем удалите все данные сеанса.

затем сохраните данные в сеансе.

затем выйдите из системы.

 public function logout(Request $request)
 {

 // get the data first for example the user's name
 $name = Auth::user()->name;
 $this->guard()->logout();
 $request->session()->invalidate();

 // save the data into a new session
 session(['name' => $name]);


 return redirect('/');
 }

то, на ваш взгляд, вы получите такие данные:

@if (session('name'))
  {{ session('name') }}
@endif

Могу ли я сохранить данные сеанса в сеансе? bcz мои данные сеанса находятся в другом месте или на другом контроллере

Adil 02.05.2018 09:26

$ запрос-> сеанс () -> недействительный (); эта строка кода обнуляет все сеансы любого типа пользователя и контроллера или только связанные с администратором.?

Adil 02.05.2018 09:35

Он удалит все данные сеанса, относящиеся к текущему аутентифицированному пользователю. Вот почему мы устанавливаем данные в переменную, прежде чем сделать сеанс недействительным.

Amr Aly 02.05.2018 10:10

но я пытался сохранить данные сеанса в переменную, но этого не произошло, теперь я использую второй подход: я сохраняю логическое значение в базе данных, и когда оно становится истинным, оно выполняет какое-то действие. это подход записи или я должен пойти с сеансом ..?

Adil 02.05.2018 14:44

это зависит от того, нужно ли вам просто логическое значение true или false, тогда сделайте это.

Amr Aly 03.05.2018 07:37

ОК. но для общих знаний какой из них более гибкий, или вы можете сказать более быстрый или хороший алгоритм ..?

Adil 03.05.2018 11:32

Всегда лучше использовать базу данных. и, конечно, логический подход более эффективен, поскольку вам не нужно хранить больше данных.

Amr Aly 03.05.2018 11:41

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