卡在控制器中的if / elseif / else语句中

I have a login page . It's controller function has 3 cases:

case 1. email or password is wrong->shows error //working fine

case 2. email is not confirmed->shows error //working fine

case 3. everything is fine->should loggedIn // not working // shows a blank page

my logic:

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

    $remember = $request->input('remember_me');
    $user=User::where('email', $request['loginEmail'])->first();

    if(!$user)
    {
        \Session::flash('message','Login credentials are wrong!');
        \Session::flash('alert-class', 'alert-warning'); 
        return redirect()->back();
    }
    elseif($user->confirmed==1) 
    {
        if(Auth::attempt(['email'=>$request['loginEmail'], 'password' => $request['loginPassword']],$remember))
        {

            //return redirect()->back();
            return redirect()->route('myplace',['username' => $user->username]) ;
        }
    }
    else
    {
        \Session::flash('message','Please verify your email!');
        \Session::flash('alert-class', 'alert-warning'); 

        return redirect()->back();
    }       
}

i just cleared my database then signUp .hooray everything worked fine!

You should put an else statement against the second if.

if (!$user) {

    /* case 1. email or password is wrong */
} elseif ($user->confirmed==1) {

    /* Case 3 not working. Add an addition else statement */

    if(Auth::attempt(['email'=>$request['loginEmail'], 'password' => $request['loginPassword','confirmed'=>1]],$remember)) {
        ......
    } else {
        echo "Login attempt error!";
        var_dump(Auth::attempt(['email'=>$request['loginEmail'], 'password' => $request['loginPassword','confirmed'=>1]],$remember))
        exit;
    }

} else {
   /* case 2. email is not confirmed */
}

This if statement:

if(Auth::attempt(['email'=>$request['login...etc

Has no else, so if this condition is not met, nothing happens. You need to add an else to this statement.