Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 登录后,Laravel重定向到上一个_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 登录后,Laravel重定向到上一个

Php 登录后,Laravel重定向到上一个,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有一个登录表单,表单提交后(如果验证正常),浏览器应重定向到登录前的最后一页。目前,我重定向回,我总是进入同一个登录页面。 My routes.php是这样的: Route::get('/', 'HomeController@index'); Route::get('/list','EventController@index'); Route::get('/login','AuthController@login'); Route::post('/login','AuthController@

我有一个登录表单,表单提交后(如果验证正常),浏览器应重定向到登录前的最后一页。目前,我重定向回,我总是进入同一个登录页面。 My routes.php是这样的:

Route::get('/', 'HomeController@index');
Route::get('/list','EventController@index');
Route::get('/login','AuthController@login');
Route::post('/login','AuthController@do_login');
我在do_login()中的重定向是


如果我在/list页面中,然后打开Login并正确填写表单,我会再次重定向到/Login,这不是很奇怪吗?非常感谢

您好,如果您使用Laravel 5.1,您可以通过下一种方式重定向到上一页

return back();
或者,您也可以使用Laravel保存上一页的会话

return redirect(Session::get('_previous')['url']);

在Auth/LoginController中有受保护的$redirectTo='/home''/home'更改为'/login',并创建如下所示的新路由

Route::get('/loginin', function ()
{
        $page = '/' . session()->get('page');
        if($page != '')
        {
            session()->put('page', '');
            return redirect($page);
        }
        else
        {
            return redirect('/home');
        }
});
或者你可以把它放在一个控制器中,从路由调用它

在页面控制器中的每个函数中

session->put('page','/name_of_the_page');

这个回答完全正确。从页面提交表单后,
back()
实际上会将您重定向到同一页面。执行
返回重定向(“url在这里”)
该死,因此每当我进入登录页面时,我都必须在$\u会话中存储引用者?你的意思是想重定向到预期的路由吗?是的,例如,我在/list中,所以我必须重定向到那里。它可以通过会话完成,但我不知道它是否是“最漂亮”的解决方案try
return Redirect::designed()
session->put('page','/name_of_the_page');