Laravel路由未完成

时间:2016-05-26 15:13:21

标签: php routing laravel-5.2

我对Laravel有点新鲜。

我创建了一个表单,提交给它进行授权,但后来我被告知(由Firefox),路由将永远不会完成。我知道登录工作正在拦截它。

这是我的routes.php:

Route::get('/',function()
{
     return view('welcome');
})->name('home');


Route::get('/welcome', function () {
      return view('welcome');
});

Route::post('/signin',
    [
        'uses' =>'UserController@postSignIn',
        'as' => 'SignIn'
    ]);


Route::get('/dashboard',
    [
        'uses' => 'UserController@getDashboard',
        'as' => 'DashBoard',
        'middleware' => 'auth'
    ]);

Route::get('/logout',
    [
        'uses' => 'UserController@getLogout',
        'as' => 'Logout'
    ]);

这是UserController:

 class UserController extends Controller
{

    public function postSignIn(Request $request)
    {
        $this->validate($request,
            [
                'email' => 'required | email',
                'password' => 'required'
            ]);

        if (Auth::attempt([ 'email' => $request['email'], 'password' =>$request['password'] ]) )
        {
            //exit("authorised");
            $message = "you are now logged in";
            return redirect()->route('DashBoard')->with(['successmessage' =>$message]);
        }
        else
        {
            $message = "username\password combination not correct";
            //exit('not - email = '.$request['email'].' password = '. $request['password']);
            return redirect()->back()->with(['errormessage' => $message] );
        }
    }

    public function getLogout()
    {
        Auth::logout();
        return redirect()->route('home');
    }

    public function getDashboard()
    {
       return redirect()->route('DashBoard');
    }
}

从注释中可以看出授权是好的

但是我从Firefox获得了这个

页面未正确重定向 Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。

2 个答案:

答案 0 :(得分:0)

在你的回归中使用to()

返回redirect() - >到('DashBoard') - > with(['successmessage'=> $ message]);

答案 1 :(得分:0)

将此添加到您的路线

Route::get('/signin',
[
    'uses' =>'UserController@postSignIn',
    'as' => 'SignIn'
]);