最近做了一個項目,需要用戶登錄后,返回登陸前的頁面。
一般的邏輯是,用戶訪問某個頁面,判斷未登錄,跳轉到登陸界面,登陸成功后,返回訪問前的頁面。
按照laravel的一般情況來做:
//頭部引入
use URL
//登陸成功后執行
return redirect(URL::previous());
結果發現跳轉的是登陸頁面,感覺很奇怪,最后發現是,我的登陸提交是一個新的方法,導致要返回之前的頁面,需要返回2次才可以。
解決,在跳轉到登陸界面的時候,將上次的網址記錄,登陸成功后,跳轉到記錄的網址,同時刪除記錄的網址。
use URL;
$request->session()->put('redirectPath', URL::previous());
$url = $request->session()->get('redirectPath');
$request->session()->forget('redirectPath');
return redirect($url);
以上這篇laravel 實現登陸后返回登陸前的頁面方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- laravel實現Auth認證,登錄、注冊后的頁面回跳方法