Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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 7 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 7 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 7 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 7 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 7 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 7 tahun yang lalu

Login untuk ikut Jawaban