我有一个 View (URL:/equip-planner),其表单如下:
<form action="{{ url('equips') }}" method="POST" class="form-horizontal">
{{ csrf_field() }}
<input type="text" id="name" name="name" class="form-control-sm">
<button type="submit" class="btn btn-primary btn-sm">
<i class="fa fa-btn fa-plus">Create</i>
</button>
</form>
路线:
Route::get('/equip-planner', 'EquipmentController@ep')->name('equip-planner');
Route::resource('equips', 'EquipmentController');
Controller 构造函数:
public function __construct(){
$this->middleware('auth', ['except' => ['index', 'show','create','home','ep']]);
}
当我提交表单时,它首先会检查用户是否已登录,因为资源方法“store”未在 Controller 构造函数的 except 列表中列出。因此,如果用户未登录,他将被重定向到登录页面,这很好。
但是:成功登录后,用户将被重定向到/equips 而不是/equip-planner。我猜这是因为表单操作 ([...]action="{{ url('equips')}}[...])
。
有谁知道如何更改重定向,以便用户将被发送回/equip-planner? ……这还有可能吗?我认为必须再退一步,因为步骤是:/equip-planner ->/equips -> 登录 -> 返回之前的站点,即/equips ?
编辑:
我的App/Http/Middleware/RedirectIfAuthenticated.php内容:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect()->intended('/home');
}
return $next($request);
}
最佳答案
使用
return redirect()->back()
如果您想发送消息,请使用with
关于laravel 登录后重定向到上一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53407420/