2017-01-22 2 views
0

はログイン時に、laravelではなく、ホーム・ページのログインページにリダイレクトするたびにログインすることができない、ここでは、これは私はDを書かれたHAV私のコントローラのコードである私のコードLaravelにログインすることができない

ですそれはここでログイン

Route::group(['middleware' => 'checkuser'],function(){ 
    Route::get('/home','[email protected]'); 
}); 

後に行く必要がありますログインコード

public function loginprocess(Request $request){ 
    $username = $request->get('username'); 
    $password = $request->get('password'); 

    $checkuser = Users::selectRaw("Count(*) as Total")->where('email','=',$email)->first(); 

    if(intval($checkuser->Total) > 0){ 
     $getpassword = Users::select("password")->where('email','=',$email)->first(); 
     if(password_verify($password,$getpassword->password)){ 
     //if($username == $checkuser && $password == $getpassword){ 
      $request->session()->set('email',$email); 
      return redirect('/home'); 
     }else{ 
      return redirect('/login'); 
     } 
    }else{ 
     return redirect('/login'); 
    } 
} 

ルートコードは、フォーム

の私のHTMLコードです
<form class="form-horizontal" role="form" method="post" action="loginprocess"> 
    {{ csrf_field() }} 
     <div class="form-group fg-float"> 
       <div class="fg-line"> 
        <label class="fg-label">Email Address</label> 
        <input type="email" id="email" name="email" value="{{ old('email') }}" class="input-sm form-control fg-input"> 
       </div> 
      </div> 

      <div class="form-group fg-float"> 
       <div class="fg-line"> 
        <label class="fg-label">Password</label> 
        <input type="password" id="password" name="password" class="input-sm form-control fg-input"> 
       </div> 
      </div> 

      <button class="btn palette-Teal bg" name="Login">Sign in</button> 

      <div class="m-t-20"> 
       <a data-bg="blue" class="palette-Teal text d-block m-b-5" href="register">Create an Account</a> 
       <a data-bg="purple" class="palette-Teal text" href="forget">Forgot Password?</a> 
      </div> 
</form> 

あなたがここに$request->session()->set('email',$email);を呼び出す$email変数は、その行の前にどこにも存在しないため

+0

あなたは自分のログインコードを書いていますか? そして、checkuserミドルウェアのコードを表示できますか? – Bostjan

+0

@Bostjan <?php 名前空間App \ Http \ Middleware; クローズを使用します。 クラスチェックユーザー { パブリック関数ハンドル(次の$要求、閉鎖$) { 場合($要求 - >セッション() - >)[メール](取得=== NULL){ リターンリダイレクト( '/ログイン'); } elseif($ request-> session() - > get( 'email')!== null){ returnリダイレクト( '/ home'); } return $ next($ request); } } – Aavin

+0

@Aavin私の答えがあなたを助けた場合は、回答としてマークしてください。お願いします。ありがとうございました。 – EddyTheDove

答えて

1

を助けてください。 $password = $request->get('password');のすぐ下に$email = $request->get('email');を追加します。

今、いくつかの規則があります。なぜあなたはUsers複数のモデルですか? 私は自分のログインをロールし、デフォルトのログインを使用したくないということを集めました。すべての良い。しかし、してください、それについていくつかの研究をしてください。 Laravelはこれを箱からでも行うための素晴らしい方法を提供します:

あなたのコードも読んでください。プレーンテキストのパスワードを保存しているようです。ハッシュユーザーのパスワードを習慣としてしてください。 Laravelは箱の外でこれを行いますHash::make('password'); 詳細はこちらhttps://laravel.com/docs/5.3

+0

まだログインできません – Aavin

+0

あなたの使用している新しいコードを投稿してください。 – EddyTheDove

関連する問題