2016-05-26 8 views
1

Я несколько новичок в Laravel.Laravel routing не заполняется

Я создал форму, отправил ее для авторизации, но затем, как мне сказали (по Firefox), маршрутизация никогда не будет завершена. Я знаю, что логин работал, когда я его перехватил.

Вот мой routes.php:

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


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

Route::post('/signin', 
    [ 
     'uses' =>'[email protected]', 
     'as' => 'SignIn' 
    ]); 


Route::get('/dashboard', 
    [ 
     'uses' => '[email protected]', 
     'as' => 'DashBoard', 
     'middleware' => 'auth' 
    ]); 

Route::get('/logout', 
    [ 
     'uses' => '[email protected]', 
     '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 обнаружил, что сервер перенаправляет запрос на этот адрес таким образом, который никогда не будет завершен.

ответ

0

Просто используйте для() в вашем возвращении в

обратного редиректа() -> к ('' приборной панели) -> с ([ 'successmessage' => $ сообщения]);

+0

Я попробовал и теперь я получаю «NotFoundHttpException в RouteCollection.php строке 161:» – Jim

+0

ваш маршрут приборной панели, так что используйте его как этот обратный редирект() -> к ('dashboard') -> with (['successmessage' => $ message]); –

+0

Когда я это сделаю, я получаю исходную ошибку – Jim

0

добавить это к вашему маршруту

Route::get('/signin', 
[ 
    'uses' =>'[email protected]', 
    'as' => 'SignIn' 
]); 
+0

GET. Это будет определять маршрут GET вместе с существующим маршрутом POST. Если кто-то задавался вопросом, что в этом ответе. –

+1

Вы правы. GET просто просто «ПОЛУЧИТ» маршрут к вашему представлению ... в то время как POST - это действие формы из формы на вашем представлении. – Treasure