0

I'm new to laravel and have been going through this code for hours, yet I'm unable to figure out what's really wrong.

I have this form:

<form  method="POST" action="{{ action('School1Controller@forgot_password') }}">

    <input type="hidden" name="_token" value="{{ csrf_token() }}">

    <input type="text" class="form-control" name="matricule" placeholder="Matricule No. or name" >

    <input type="email" class="form-control" name="inst_email" placeholder="Password">

    <button type="submit" class="btn btn-primary">Submit</button>

</form>

which submits to this method..

public function forgot_password(Request $request){
    $this->validate($request, [
        'matricule' => 'required',
        'inst_email' => 'required'
    ]);

    $input = $request->all();

    $student = User::where('matricule', $input['matricule'])->where('inst_email', $input['inst_email'])->get();

    // dd($student);
    if (empty($student)){
        Session::flash('message', 'We have no such user in our records.');
        return redirect()->back();
    }else{
        Session::flash('message', 'Student found. We will reset your password soon.');
        return redirect()->back();
    }

 }

..through this route..

Route::post('/forgot_password', ['as' => 'forgot_password', 'uses' => 'School1Controller@forgot_password']);

When it queries the database, it returns the student properly and I can display it using dd($student). In cases when the student is unavailable, it also displays an empty array. Now the problem is, the message that keeps displaying is that which says student is found regardless whether the $student array holds any student or not. Is there a problem with my empty() function or what?

Gaurav Dave
  • 6,838
  • 9
  • 25
  • 39
A. Apola
  • 131
  • 1
  • 4
  • 13

0 Answers0