Tips Login dengan Username atau Email di Laravel

By Budyks    PHP

Tak jarang kita menyertakan Username dan Email di form registrasi seperti ini 

Email : 

Username : 

Password :

....

lalu setelah user sukses registrasi biasanya kita minta Login dengan menyertakan Username saja dan password. Namun tak jarang bisa menyertakan baik Username atau Email beserta password seperti ini : 

Sign in

Jadi user bisa login dengan Username atau email nya. Tips simple ini sebenarnya di PHP native atau di framewok yang lain juga bisa. 

berikut cara simple nya di Laravel 

#AuthController.php

public function doLogin(){   
   $username = Input::get('username');
   $password = Input::get('password'); 
   $field = filter_var($username, FILTER_VALIDATE_EMAIL) ? 'email':'username';   
   if(Auth::attempt(array($field => $username,'password' => $password)))
   {      return Redirect::intended();               }
   else
   {                  return Redirect::to('login')->with('error', 'Invalid username/email or password')
->withInput();   }


}//end of function

        

Form login nya cukup seperti biasa 


        

Penjelasan : 

 perhatikan kode berikut : 

if(Auth::attempt(array($field => $username,'password' => $password)))

Secara default Auth::attempt() membutuhkan (normalnya) 2 input-tan yakni username dan password . Kita hanya perlu membuat field username flexible saja . 

filter_var($username, FILTER_VALIDATE_EMAIL) ? 'email':'username';

dengan method diatas field username telah kita buat dinamis dan otomatis nge-Cek apakah yang diinput itu email atau bukan. 

Sekian Tips kali ini. Happy coding !!!

Comments



    Follow Us