Diskon 50% terbatas! Masukkan kupon "programmer2025" di kelas apa saja

Please nanya stuck di login

Jadi saya kan bikin web pilates untuk pendaftaran nya, nah saya udah sampe lah ke form bagian pendaftaran ny, nah kan ada eror di bagian migration ny, saya otak atik tuh sampe perintahin hapus migration yg terakhir kali, dan abis itu saya php artisan migrate lg, pas saya uji ternyata login nya ngestuck, udh saya pastiin email dan pw sama, ttp gabisa lnjut ke dashboard

avatar sofiaayuazahra
@sofiaayuazahra

1 Kontribusi 0 Poin

Diperbarui 11 bulan yang lalu

2 Jawaban:

Halo.. sayangnya informasinya kurang jelas. Stuck itu terlalu umum. Kamu perlu debug, aktifkan mode debug=true , jadi kamu bisa lihat errornya.

Intip juga isi log kamu.

avatar hilmanski
@hilmanski

2715 Kontribusi 2152 Poin

Dipost 1 tahun yang lalu

  1. Session / Auth table belum sinkron

Kalau kamu sempat hapus migration (terutama users, sessions, atau password_resets), bisa jadi struktur tabel-nya berubah.

Jalankan ini untuk memastikan semua table auth masih ada:

php artisan migrate:status

Pastikan di situ ada:

  1. users
  2. password_reset_tokens (atau password_resets)
  3. sessions (kalau pakai session-based login)

Kalau ada yang hilang, jalankan:

php artisan migrate:fresh

Peringatan: fresh akan hapus semua data di database dan migrasi ulang dari awal. Kalau project masih tahap dev, aman dilakukan.

  1. Middleware auth tidak mengizinkan redirect

Kadang setelah login berhasil, route dashboard tidak bisa diakses karena belum diizinkan lewat middleware.

Cek file: routes/web.php

Pastikan route dashboard seperti ini:

Route::get('/dashboard', function () {
    return view('dashboard');
})->middleware(['auth']);

Kalau sudah login tapi tetap kembali ke halaman login, berarti middleware atau session-nya gagal.

  1. Guard atau Provider di config/auth.php berubah

Buka file:

config/auth.php

Pastikan bagian default seperti ini:

'defaults' => [
    'guard' => 'web',
    'passwords' => 'users',
],

dan guard web mengarah ke users provider:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
],

dan provider users mengarah ke model kamu:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
],

Kalau kamu sempat ganti nama tabel user (misal jadi members atau registrants), pastikan model-nya sesuai.

  1. Password tidak di-hash

Ini penyebab klasik juga HAHAHHAHA

Kalau kamu isi user secara manual lewat database atau seeding, pastikan password-nya sudah di-hash pakai bcrypt.

Contoh di Tinker:

php artisan tinker

Lalu:

bcrypt('passwordkamu');

Masukkan hasilnya ke kolom password di tabel users. Kalau masih pakai plain text, login pasti gagal walau email & password benar.

  1. Cek log error

Coba lihat log Laravel:

tail -f storage/logs/laravel.log

atau buka manual file storage/logs/laravel.log.

Setelah kamu klik login, lihat apakah muncul error seperti:

  1. Invalid credentials

  2. SQL error

  3. redirect loop

  4. CSRF Token / Session tidak tersimpan

Kalau kamu pakai form login custom, pastikan form login-nya punya:

@csrf

Dan di .env pastikan:

SESSION_DRIVER=file
SESSION_LIFETIME=120

Kalau kamu pakai SESSION_DRIVER=cookie atau array, session bisa hilang setiap request.

Langkah perbaikan singkat:

  1. Jalankan:
php artisan migrate:fresh --seed
php artisan optimize:clear
  1. Pastikan user ada di tabel users.

  2. Password user di-hash (bukan plain text).

  3. Coba login lagi.

avatar MuhAlifAnhar
@MuhAlifAnhar

5 Kontribusi 0 Poin

Dipost 11 bulan yang lalu

Login untuk ikut Jawaban