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

avatar sptndc
@sptndc

247 Kontribusi 59 Poin

Diperbarui 6 tahun yang lalu

5 Jawaban:

Bukannya default login Laravel memang sdh menggunakan email & pass kan ? Apa maksdnya login yang defaultnya email di ganti jd username gtu ?

avatar Rismal
@Rismal

131 Kontribusi 105 Poin

Dipost 6 tahun yang lalu

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;
    }

avatar devio
@devio

101 Kontribusi 46 Poin

Dipost 6 tahun yang lalu

@Cristal jadi ane pengen form login bisa pake username dan juga bisa pake email gan.

@devio oke ane coba dulu gan.

avatar sptndc
@sptndc

247 Kontribusi 59 Poin

Dipost 6 tahun yang lalu


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

avatar adityarizki17
@adityarizki17

28 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

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.

avatar zergz
@zergz

62 Kontribusi 47 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban