2017-07-03 10 views
1

今回は検証を学んでいます。私は私のログインフォームのためにこれを行うことはできません... 私のコードは今のように見えますが、私はエラーがあるときにのみ動作しますが、このコードは私のユーザーにログインしたくありません。私のコードの中で何をすべきか、なぜ今は動作しないのですか?どのような電子メールとパスワードがログインとどのテーブルから比較されるべきかを、この検証がどのように知っているかわかりません。この情報をどこかに追加する必要がありますか?Laravel検証ログイン

public function login(Request $request) 
    { 
    $this->validate($request, [ 
     'email'   => 'required|max:255|email', 
     'password'   => 'required|confirmed', 
    ]); 

     return redirect()->intended('/panel'); 

    } 

答えて

1

あなたのコントローラに特色AuthenticatesUsersを追加することを検討できます。

class LoginController extends Controller { 

    use \Illuminate\Foundation\Auth\AuthenticatesUsers; // <- add this line 

    // ... 
} 

次に、あなたがあなたのlogin方法を投げることができ、すべてが動作します。詳細情報here

しかし、独自の認証システム(私はを推奨しません)を構築する場合は、さらに掘り下げてください。あなたは見ることができるhere。次に、コントローラを次のように更新します。

public function login(Request $request) 
{ 
    $this->validate($request, [ 
     'email'   => 'required|max:255|email', 
     'password'   => 'required|confirmed', 
    ]); 
    if (Auth::attempt(['email' => $email, 'password' => $password])) { 
     // Success 
     return redirect()->intended('/panel'); 
    } else { 
     // Go back on error (or do what you want) 
     return redirect()->back(); 
    } 

}