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 : 





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 !!!