• Tutorial Flutter
  • Tutorial Laravel
  • Tutorial CodeIgniter
  • Tutorial Pemrograman Lainnya
Indonesia :09 August 2025
Tutorial dan Dokumentasi Coding
  • Kelas Pemrograman
  • Jasa Web dan Aplikasi
  • Download Source Code
  • Kelas Pemrograman
  • Jasa Web dan Aplikasi
  • Download Source Code

Tentang Kami

Ayongoding.com adalah Media Pembelajaran Pemrograman Web & Mobile serta Media Dokumentasi Coding dengan Fokus pada Flutter, Laravel dan CodeIgniter. Tersedia juga Tutorial Lainnya Seputar Pemrograman.

Membuat Login dan Register Laravel
Laravel

Membuat Login dan Register pada Laravel

Arie S02 May 202137 Comments172176k

Tutorial Sebelumnya:

Tutorial Laravel #9: Cara Memasang Template di Laravel

Pada tutorial ini kita akan membahas cara Membuat Login dan Register User pada Laravel.

Membuat Login Laravel

1. Pertama, Kita membuat projectnya terlebih dahulu. Disini kita akan membuat aplikasi pengolahan nilai sederhana dengan nama ANISA (Aplikasi Nilai Santri).

Buat Project baru dengan perintah berikut:

composer create-project --prefer-dist laravel/laravel anisa

Jalankan project pada browser Anda dengan alamat localhost:8000. Muncul halaman default Laravel seperti di bawah ini:

Tampilan Default Project Laravel
Tampilan Default Project Laravel

2. Setelah membuat project baru, siapkan databasenya terlebih dahulu. Buat database baru dengan nama anisa_db, terserah Anda menggunakan phpMyAdmin, SQLyog atau tools lainnya.

Membuat Login Database Laravel
Membuat Login Database Laravel

3. Kemudian lakukan Konfigurasi Database pada file .env seperti berikut:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=anisa_db
DB_USERNAME=root
DB_PASSWORD="********"

4. Selanjutnya membuat tabel users yang akan kita gunakan untuk login yang berisi username, email, password dan field lainnya yang dibutuhkan.

Laravel mempunyai fitur migration dengan menyediakan Schema table users yang bisa langsung kita pakai, kemudian Model untuk tabel users juga sudah disediakan.

Model dan Schema Table Users Laravel
Model dan Schema Table Users Laravel

Untuk menggunakan Fitur Migration Laravel kita gunakan perintah berikut:

php artisan migrate

Coba buka database Anda. Sekarang table-table sudah terbentuk.

Membuat Login Table User Laravel
Membuat Login Table User Laravel

Struktur dari tabel Users sebagai brikut:

Struktur Tabel Users Laravel
Struktur Tabel Users Laravel

Pengaturan Tambahan (Optional):
Pada aplikasi ANISA ini akan ada beberapa level user atau hak akses user yang akan kita gunakan. Hak akses user bisa juga kita sebut sebagai role user. Maka kita tambahkan satu field pada tabel users dengan nama role. Sehingga tabel users akan menjadi seperti berikut:

Membuat Login Role User Laravel
Membuat Login Role User Laravel

5. Selanjutnya kita akan membuat Route. Buka file web.php yang ada di dalam direktori routes. Tambahkan Route seperti berikut ini:

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\LoginController;
use App\Http\Controllers\HomeController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', [LoginController::class, 'login'])->name('login');
Route::post('actionlogin', [LoginController::class, 'actionlogin'])->name('actionlogin');

Route::get('home', [HomeController::class, 'index'])->name('home')->middleware('auth');
Route::get('actionlogout', [LoginController::class, 'actionlogout'])->name('actionlogout')->middleware('auth');

Perhatikan kode di atas, pada bagian kode program Route::get('/', [LoginController::class, 'login'])->name('login'); berfungsi untuk menampilkan form login.

Pada bagian kode program Route::post('actionlogin', [LoginController::class, 'actionlogin'])->name('actionlogin'); berfungsi untuk mengirim data login berupa username dan password ketika diklik tombol login.

Pada bagian kode program Route::get('home', [HomeController::class, 'home'])->name('home')->middleware('auth'); bertujuan untuk menampilkan halaman home jika berhasil login, kemudian dilengkapi dengan middleware auth agar halaman home hanya bisa diakses ketika sudah melakukan login.

Pada bagian kode program Route::post('actionlogout', [LoginController::class, 'actionlogout'])->name('actionlogout')->middleware('auth'); bertujuan untuk mengirim aksi ketika tombol logout diklik, kemudian dilengkapi dengan middleware auth agar perintah logout hanya bisa diakses ketika sudah melakukan login.

6. Selanjutnya kita membutuhkan dua buah controller yaitu Login Controller dan Home Controller.

Sekarang buat Login Controller dengan perintah berikut:

php artisan make:controller LoginController

Isi dari LoginController.php adalah sebagai berikut:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Session;

class LoginController extends Controller
{
    public function login()
    {
        if (Auth::check()) {
            return redirect('home');
        }else{
            return view('login');
        }
    }

    public function actionlogin(Request $request)
    {
        $data = [
            'email' => $request->input('email'),
            'password' => $request->input('password'),
        ];

        if (Auth::Attempt($data)) {
            return redirect('home');
        }else{
            Session::flash('error', 'Email atau Password Salah');
            return redirect('/');
        }
    }

    public function actionlogout()
    {
        Auth::logout();
        return redirect('/');
    }
}

Perhatikan kode di atas, pada bagian kode program use Illuminate\Support\Facades\Auth; merupakan Library Laravel yang dapat menghandle Authentication.

Pada bagian kode program use Session; bertujuan untuk mengirim pesan session error ke halaman form login ketika terjadi kesalahan saat login. Kemudian cara penulisan pesannya seperti pada bagian kode ini Session::flash('error', 'Email atau Password Salah');

Pada bagian kode program Auth::check() digunakan untuk memeriksa apakah user sudah login atau belum. Jika sudah, maka user akan kita arahkan ke halaman utama yaitu halaman home.

Pada bagian kode program Auth::Attempt($data) berfungsi untuk melakukan proses pengecekan validasi login langsung ke table users dan memberikan fasilitasi session jika berhasil login.

Pada bagian kode program function actionlogout() berfungsi untuk menghapus session yang aktif ketika di klik tombol logout dengan perintah Auth::logout();, kemudian setelah logout arahkan kembali halaman ke form login dengan perintah return redirect('/');.

Perlu dicatat saat kita membuat Auth secara manual adalah baris kode ini Auth::attempt($data);

7. Kemudian buat Home Controller dengan perintah berikut:

php artisan make:controller HomeController

Isi dari HomeController.php adalah sebagai berikut:

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
  
class HomeController extends Controller
{
    public function index()
    {
        return view('home');
    }
}

Perhatikan kode di atas, cukup jelas ya function index akan me-return view home.

8. Selanjutnya kita akan membuat view untuk tampilan halaman form login. Buat file view baru dengan nama login.blade.php simpan di dalam direktori resources/views.

Berikut kode program login.blade.php:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Login - Aplikasi Nilai Santri</title>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container"><br>
        <div class="col-md-4 col-md-offset-4">
            <h2 class="text-center"><b>ANISA</b><br>Aplikasi Nilai Santri</h3>
            <hr>
            @if(session('error'))
            <div class="alert alert-danger">
                <b>Opps!</b> {{session('error')}}
            </div>
            @endif
            <form action="{{ route('actionlogin') }}" method="post">
            @csrf
                <div class="form-group">
                    <label>Email</label>
                    <input type="email" name="email" class="form-control" placeholder="Email" required="">
                </div>
                <div class="form-group">
                    <label>Password</label>
                    <input type="password" name="password" class="form-control" placeholder="Password" required="">
                </div>
                <button type="submit" class="btn btn-primary btn-block">Log In</button>
                <hr>
                <p class="text-center">Belum punya akun? <a href="#">Register</a> sekarang!</p>
            </form>
        </div>
    </div>
</body>
</html>

Perhatikan form di atas, pada form di atas kita membuat @csrf. CSRF adalah singkatan dari Cross-site request forgery yang merupakan sebuah serangan yang dilakukan oleh pengguna yang tidak terautentikasi untuk mengeksekusi perintah. Untuk mengatasi ini, Laravel sudah menyediakan CSRF Token. Nantinya token inilah yang melakukan verifikasi apakah request yang diberikan memang berasal dari user yang bersangkutan.

Dengan membuat kode @csrf artinya kita telah membuat sebuah input dengan type hidden dan name _token, seperti berikut ini:

<input type="hidden" name="_token" value="QQtzCXZYXGeWiPHoK4MJ62rtfSlex9gPqQganbv2">

Pada form yang sudah kita buat di atas, pada bagian action="{{ route('actionlogin') }}" method="post" kita mengatur actionnya ke actionlogin dengan method post sesuai route yang ada di file web.php.

Berikut ini adalah tampilan halaman login:

Membuat Login Laravel
Membuat Login Laravel

9. Kemudian kita membutuhkan satu lagi view baru untuk halaman home. Buat view dengan nama home.blade.php simpan di dalam direkotori resources/views.

Disini kita akan menggunakan Sistem Blade Template Laravel seperti yang sudah kita pelajari pada tutorial sebelumnya, maka kita buat dulu template masternya dengna nama master.blade.php.

Isi dari file master.blade.php sebagai berikut:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Aplikasi Nilai Santri</title>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
    <div class="container">
        <div class="col-md-12">
        <nav class="navbar navbar-default">
          <div class="container-fluid">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <a class="navbar-brand" href="{{route('home')}}">ANISA - Aplikasi Nilai Santri</a>
            </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
              <ul class="nav navbar-nav navbar-right">
                <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user"></i> {{Auth::user()->email}} <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a>Level: {{Auth::user()->role}}</a></li>
                    <li role="separator" class="divider"></li>
                    <li><a href="{{route('actionlogout')}}"><i class="fa fa-power-off"></i> Log Out</a></li>
                  </ul>
                </li>
              </ul>
            </div><!-- /.navbar-collapse -->
          </div><!-- /.container-fluid -->
        </nav>
          @yield('konten')
        </div>
        </div>        
    </div>
</body>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</html>

Isi dari file view home.blade.php seperti di bawah ini:

@extends('master')

@section('konten')
  <h4>Selamat Datang <b>{{Auth::user()->name}}</b>, Anda Login sebagai <b>{{Auth::user()->role}}</b>.</h4>
@endsection

Perhatikan kode pada view home di atas, pada pagian kode program {{Auth::user()->name}} dan {{Auth::user()->role}} berfungsi untuk menampilkan data nama dan role sesuai user yang login. Fitur session Auth ini sudah disediakan Laravel dan session akan di generate saat user berhasil login, kita dapat menggunakan kapanpun dan bisa tampilkan di semua file view.

Berikut ini adalah tampilan halaman home ketika user berhasil login:

Membuat Login Laravel
Membuat Login Laravel

Maka sampai disini Login pada laravel sudah berhasil kita buat.

Catatan Penting:
Migration tabel Users Laravel tidak menyediakan data record di dalamnya, sehingga kita perlu melakukan generate Data User untuk dapat login.

Lihat di sini Generate Data User pada Laravel

Membuat Register User Laravel

Setelah belajar Membuat Login Laravel, sekarang kita akan belajar Membuat Register User pada Laravel.

Saya buat ke dalam artikel yang berbeda agar pada bagian ini tidak terlalu panjang. Langsung saja silahkan lihat pada link berikut: Membuat Register Laravel

Tutorial Selanjutnya:

Tutorial Laravel #11: Membuat Register pada Laravel

  • Belajar Laravel
  • Framework Laravel
  • Laravel
  • Laravel Authentication
  • Laravel Login Tutorial
  • Membuat Auth Sendiri Laravel
  • Membuat Login dan Register Laravel
  • Membuat Login Laravel
  • Membuat Login Manual Laravel
  • Membuat Register User Laravel
  • Tutorial Laravel
Bagikan Tutorial
Menambahkan QR Code dengan Mudah di CodeIgniter Tutorial Sebelumnya
Tutorial HTML #1: Apa itu HTML? Tutorial Selanjutnya
Arie S

Web Programmer. Flutter Developer. Content Creator. Founder Ayongoding.com. Penyuka minuman sachet. Menulis pakai tangan kanan. Masih main mobilan remot. Dan pernah kuliah Sistem Informasi sampai lulus.

Baca Tutorial Laravel Lanjutan:

Laravel

Import Excel File ke MySQL Database Menggunakan Laravel Excel

Arie S01 December 2023
Laravel

Protect API dengan Middleware Laravel

Arie S21 October 2023
Laravel

Compress Image saat Upload Laravel

Arie S15 August 2023
Laravel

Push Notification Laravel menggunakan Firebase

Arie S04 August 2023
Laravel

Kirim Pesan Laravel menggunakan Vonage API

Arie S12 July 2023
Laravel

Kirim Pesan Laravel menggunakan Zenziva SMS Gateway

Arie S04 July 2023

37 Komentar

  1. revin 13 October 2021 at 11:16 Log in to Reply

    Maaf kak,email dan password nya yang mana? di database?

    1. Arie S Post author21 October 2021 at 10:44 Log in to Reply

      Terimakasih sudah memberi komentar.
      Untuk data user (email, password) perlu di generate terlebih dahulu.
      Ikuti tutorial berikut yaa Generate Data User pada Laravel

  2. septiyani 20 November 2021 at 08:33 Log in to Reply

    kak fitur registernya mana

    1. Arie S Post author17 December 2021 at 08:56 Log in to Reply

      Terimakasih kak sudah memberi komentar.
      mohon maaf kak untuk register user nya saya buat pada artikel yg berbeda dan link nya baru saya update.
      Silahkan lihat di link berikut ya kak: Membuat Register Laravel

  3. Alkautsar 06 December 2021 at 08:53 Log in to Reply

    Maaf kak ini registernya gimana ya

    1. Arie S Post author17 December 2021 at 08:53 Log in to Reply

      Terimakasih kak sudah memberi komentar.
      untuk register user nya saya buat pada artikel yg berbeda. mohon maaf baru saya update.
      Silahkan lihat di link berikut ya kak: Membuat Register Laravel

      1. Muhammad Reza Mulzi Nur 06 February 2022 at 19:41 Log in to Reply

        mantap kak, artikel loginnya membantu

      2. Cemplon 14 July 2022 at 06:46 Log in to Reply

        Tutorial Lengkap Registrasinya Yang Mana Ya Kak ?

        1. Arie S Post author17 September 2022 at 09:31 Log in to Reply

          untuk register user nya saya buat pada artikel yg berbeda.
          Silahkan lihat di link berikut ya kak: Membuat Register Laravel

  4. ardy andi 15 March 2022 at 12:35 Log in to Reply

    tabelnya nggak dijelaskan secara detil ya? fieldnya, tipe data serta panjangnya

    1. Arie S Post author17 September 2022 at 08:58 Log in to Reply

      Sudah saya perbarui artikelnya mas. kerimakasih masukannya mas..

  5. Jono 20 March 2022 at 08:07 Log in to Reply

    maaf kak kok logincontroller saya ga kedetect ya ? padahal udah ngikutin tutorial persis dari awal
    Target class [LoginController] does not exist.

    1. Arie S Post author17 September 2022 at 09:00 Log in to Reply

      itu karna cache laravel nya kak..
      coba jalankan php artisan optimize

      1. Fauzan Fadhil 14 December 2022 at 11:47 Log in to Reply

        mas maaf mau nanya saya sudah pake php artisan optimize kok masih Target class [LoginController] does not exist. ya mah

      2. Bagas Prakoso 23 December 2022 at 14:41 Log in to Reply

        Tetap ga bisa kak

  6. yahdi almukaram 27 March 2022 at 16:04 Log in to Reply

    kok registernya gak ada kak m

    1. Arie S Post author17 September 2022 at 09:02 Log in to Reply

      untuk register user nya saya buat pada artikel yg berbeda. mohon maaf baru saya update.
      Silahkan lihat di link berikut ya kak: Membuat Register Laravel

  7. yahdi 27 March 2022 at 19:36 Log in to Reply

    gak ada register nya mas

    1. Arie S Post author17 September 2022 at 09:03 Log in to Reply

      untuk register user nya saya buat pada artikel yg berbeda. mohon maaf baru saya update.
      Silahkan lihat di link berikut ya kak: Membuat Register Laravel

  8. dwi ananta 04 April 2022 at 10:42 Log in to Reply

    Maaf mau tanya kak, register laravel nya kok nggak ada tutorialnya?

    1. Arie S Post author17 September 2022 at 09:07 Log in to Reply

      untuk register user nya saya buat pada artikel yg berbeda. mohon maaf baru saya update.
      Silahkan lihat di link berikut ya kak: Membuat Register Laravel

  9. satria 30 May 2022 at 11:40 Log in to Reply

    ka mau tanya nih.. ko sudah logi bisa back..
    terus udah logout bisa back ke home.
    mohon solusinya

  10. siswanto 08 June 2022 at 16:01 Log in to Reply

    SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES) (SQL: select * from `users` where `email` = sis.sayyaf@gmail.com limit 1)
    ini maksudnya apa ya gan

    1. Arie S Post author17 September 2022 at 09:26 Log in to Reply

      ini karena konfigurasi di file .env nya belum benar kak. coba cek lagi username dan password pada database nya.
      permasalahan yang sama juga terjadi apabila MySQL belum running pada server localhost.
      Jika dirasa semua sudah benar dan masih muncul error yang sama coba jalankan perintah berikut: php artisan optimize

  11. Fauzan Fadhil 14 December 2022 at 11:47 Log in to Reply

    mas maaf mau nanya saya sudah pake php artisan optimize kok masih Target class [LoginController] does not exist. ya mah

  12. Vincent 14 December 2022 at 13:29 Log in to Reply

    Maaf saya butuh bantuan, ini saya sudah ikut semuanya, tapi selalu error email atau password salah padahal benar datanya

  13. andi 24 January 2023 at 15:43 Log in to Reply

    Illuminate\Database\QueryException

    SQLSTATE[HY000] [1049] Unknown database ‘laravel’ (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = ‘BASE TABLE’)

    Konfigurasi Database pada file .env sudah sesuai

  14. Daniel 09 February 2023 at 15:57 Log in to Reply

    Sy coba login dengan email dan password tp kok tidak bisa ya?

  15. rio 14 March 2023 at 11:47 Log in to Reply

    enail atau pass salah, padahal sudah sesuai pada DB

    1. salma 25 October 2023 at 09:31 Log in to Reply

      saya juga knapa ya

  16. Teknik Komputer 20 June 2023 at 11:10 Log in to Reply

    Bagaimana cara menghubungkan form login dengan database menggunakan Laravel?

  17. Afid Arifin 16 September 2023 at 00:13 Log in to Reply

    Wah, sangat membantu untuk para pula seperti saya yang baru belajar Laravel.

  18. Farrell rahadian 23 September 2023 at 21:16 Log in to Reply

    Simple untuk dimengerti,thanks codingan nya bg

  19. salma 25 October 2023 at 09:35 Log in to Reply

    kenapa email dan pass tetap salah. padahal sudah ssuai database

    1. str 21 May 2024 at 07:01 Log in to Reply

      sama apa udah nemu jawaban?

  20. Ezra JFP 18 April 2024 at 22:44 Log in to Reply

    saya memakai user_password dan user_email, namun muncul ini saat error
    ErrorException
    Undefined array key “password”
    http://localhost:8000/actionlogin, bagaimana cara mengatasinya, apa harus mengaturnya agar memakai key user_password? tapi caranya bagaimana ya?

  21. adin 14 July 2024 at 13:04 Log in to Reply

    tutorial Lupa password bang

Leave a Reply Cancel reply

You must be logged in to post a comment.

Kategori Tutorial

  • Artikel
  • CodeIgniter
  • Download Source Code
  • Flutter
  • Laravel
  • Pemrograman Lainnya


header ayongoding 2025

PT AYO NGODING KREATIF
Jl. Khatib Sulaiman, Perumahan Palano 5
Blok A No. 6, Kota Payakumbuh
26227
Sumatera Barat, Indonesia

Kontak Layanan
+62 853 6411 6655
ayongodingofficial@gmail.com

Popular Posts

  • Membuat Register User Laravel
    Laravel

    Membuat Register User Laravel

    05 April 2022
  • Membuat Login dan Register Laravel
    Laravel

    Membuat Login dan Register pada Laravel

    02 May 2021
  • Form wizard bootstrap
    Pemrograman Lainnya

    Membuat Form Wizard Bootstrap

    16 February 2020

Information Links

About


Kelas Pemrograman


Contact


Jasa Web dan Aplikasi


Privacy Policy


Download Source Code


Terms and Conditions


Copyright © 2019-2025 PT AYO NGODING KREATIF - All Rights Reserved.
  • About
  • Contact
  • Privacy Policy
  • Terms and Conditions