Postingan lainnya
Membuat login dengan username atau email pada Laravel 5.5
Selamat sore sobat koding. Ane mau tanya, apakah ada yang tau cara membuat login dengan username atau email pada Laravel 5.5 ? mohon bantuannya terimakasih
5 Jawaban:
Bukannya default login Laravel memang sdh menggunakan email & pass kan ? Apa maksdnya login yang defaultnya email di ganti jd username gtu ?
coba di attemptLogin diubah jadi kaya begini:
protected function attemptLogin(Request $request)
{
// return $this->guard()->attempt(
// $this->credentials($request), $request->has('remember')
// );
if($this->guard()->attempt(
["email" => $request->email, "password" => $request->password], $request->has('remember')
))
return true;
elseif($this->guard()->attempt(
["username" => $request->email, "password" => $request->password], $request->has('remember')
))
return true;
else
return false;
}
@Cristal jadi ane pengen form login bisa pake username dan juga bisa pake email gan.
@devio oke ane coba dulu gan.
public function checkLogMember(Request $r){
$check = user::where('email',$r->email)
->where('password',md5($r->password))
->where('level','Member')
->count();
if ($check == null){
echo "<script>alert('Sepertinya email atau password anda salah');location='/login'</script>";
} else{
$take = user::where('email',$r->email)->where('password',md5($r->password))->first();
$my = array(
'id' => $take->user_id,
'nama' => $take->nama,
'email' => $take->email,
'kota' => $take->kota,
'provinsi' => $take->provinsi,
'phone' => $take->phone,
'zip' => $take->zip,
'alamat' => $take->alamat,
'level' => $take->level
);
session(['user' => $my]);
if (session('cart') !== null){
return redirect('/checkout');
} else{
return redirect('/');
}
}
kalo aku sih gini di conroller nya
Di controllernya tambahin filter gan:
filter_var($request->input('nama_field'), FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
Kode Snippet di atas akan melakukan filter untuk mendeteksi email atau username pada field.