Tips Login dengan Username atau Email di Laravel
|Shares :

Tips Login dengan Username atau Email di Laravel

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 

<input type="text" name="username" placeholder="Email or username...">
<input type="password" name="password" placeholder="password..."


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

Tags : #php #laravel


SHARES :


Budy K's Avatar

Sains & Teknologi Enthusiast, Software Developer. Check my profile!
> 75% komen akan dibalas. Mohon sabar ya. Simpan halaman ini dan cek kembali lagi

Comments

* Email will not be published


    Privacy .ToS .Contact Us
    © 2017 Teknosains