
Pada artikel kali ini, kita akan membahas Sistem Register pada Laravel. Sistem Register ini merupakan bagian dari Fitur yang sangat sering kita jumpai yaitu Login-Register. Nah, di artikel ini kita akan terfokus untuk Register terlebih dahulu.
Laravel sendiri memiliki beberapa cara yang bisa digunakan untuk Sistem Register pada Laravel ini, tapi yang akan kita gunakan kali ini Authentication.
Pembuatan Sistem Register pada Laravel
Disini kita akan mempraktekkan langkah-langkah yang akan kita gunakan untuk Sistem Register pada Laravel. Mulai dari instalasi menuju ke Pembuatan Database sampai membuat sistem pendaftaran itu sendiri.
Install Laravel
Proses instalasi ini bisa kalian lihat di artikel Belajar Laravel #2 : Cara Instalasi Laravel, atau bisa kalian lihat seperti dibawah ini. Pertama, buka terminal lalu jalankan syntax dibawah ini
composer create-project laravel/laravel login-register
Kita namai Projek Laravel kali ini dengan login-register
, sesuai dengan tujuan kita di artikel ini yaitu membuat Sistem Login dan Register pada Laravel. Sekarang tinggal jalankan Laravel dan juga Web Server kita.
Mempersiapkan Database
Setelah selesai instalasi dan menjalankan Laravel, yang harus kita lakukan berikutnya adalah mengatur Database
yang akan kita gunakan. Kalau teman-teman ingin membaca lebih detail tentang Database ini bisa kalian lihat di Artikel Belajar Laravel 8 #6 : Database Migrations.
Nah, kalau di artikel ini kita akan membuat Database
untuk Logind an Register saja. Pertama, buat Database
di phpmyadmin
terlebih dahulu. Silahkan beri nama login-register

Setelah selesai membuat Database. Kita akan terfokus untuk edit migrations
kita.
Setting Migrations
Tidak seperti metode CRUD yang kita harus membuat sebuah Model
, Controller
, dan Migrations
baru. Untuk Sistem Login Register
pada Laravel ini kita cukup menggunakan migrations
default yang sudah ada yaitu migrations
user.
Pertama, buka file create_users_table.php
. Pastikan ada fungsi up() yang berisi seperti ini.
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
Nah, difungsi diatas kita sudah membuat isi dari tabel users
. Nah tabel users
ini lah yang akan terisi apabila ada seseorang yang register
di Proyek Laravel kita. Sementara kita buat sangat sederhana dulu saja, berisi name, email,
dan password
.

Membuat Controller Register
Setelah selesai dengan urusan Database. Sekarang kita akan membuat Controller
untuk Register
terlebih dahulu. Isi File Register
dengan syntax ini
RegisterController.php
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class RegisterController extends Controller
{
public function index()
{
return view('register');
}
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|unique:users',
'password' => 'required',
]);
$validatedData['password'] = Hash::make($validatedData['password']);
User::create($validatedData);
return redirect('/login')->with('success', 'Registration Succesfull! Please Login');
}
}
Penjelasan, Di RegisterController ini memiliki dua fungsi yang berbeda, pertama fungsi index()
. Fungsi ini berguna untuk menampilkan Tampilan Formulir dari Ssitem Register kita.
Kedua adalah Fungsi store(Request $request)
. Fungsi ini berguna untuk mengirimkan Data yang kita inputkan ke Database, dan apabila sudah selesai kita akan diarahkan ke /login.
Nah karena kita belum membuat Route /login
, maka nanti Outputnya akan Not Found
, tapi itu bukan masalah. Selain itu teman-teman bisa melihat kita menggunakan Hash::make. Nah itu digunakan untuk membuat Password kita menjadi Ter-encrypt.
Mengatur Route pada web.php
Nah, di File web.php
ini kita harus membuat syntax yang diarahkan ke RegisterController
kita, syntax yang pertama adalah apabila kita mengakses Register
, dan yang kedua apabila kita mengirimkan data dari Register
.
web.php
Route::get('/register', [RegisterController::class, 'index']);
Route::post('/register', [RegisterController::class, 'store']);
Membuat views
Nah, setelah selesai mengatur Route
dan Controller
nya, sekarang kita tinggal mengatur Tampilan dari Fitur Register kita. Tampilannya akan kita buat sederhana. Cukup berisi inputan yang kita butuhkan yaitu nama, email, dan password.
Aku menggunakan template dari Bootstrap disini yang bisa kalian pakai juga.
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Register</title>
</head>
<body>
<div class="row justify-content-center" style="margin-top: 150px">
<div class="col-lg-6">
<main class="form-registration">
<h1 class="h3 mb-3 fw-normal text-center">Registration Form</h1>
<form action="/register" method="POST">
@csrf
<div class="form-floating">
<input type="text" class="form-control rounded-top" name="name" id="name" required
value="{{ old('name') }}" placeholder="Name">
<label for="name">Name</label>
</div>
<div class="form-floating">
<input type="email" class="form-control " name="email" id="email" required
value="{{ old('email') }}" placeholder="name@example.com">
<label for="email">Email address</label>
</div>
<div class="form-floating">
<input type="password" class="form-control rounded-bottom" name="password" id="password" required
placeholder="Password">
<label for="password">Password</label>
</div>
<button class="w-100 btn btn-lg btn-danger mt-3" type="submit">Register</button>
</form>
<small class="d-block mt-3">Have an account? <a class="text-danger" href="/login"> Login
Here</a></small>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous">
</script>
</body>
</html>
Pada syntax diatas kita membuat sebuah Form yang memiliki action="/register"
. Jadi nanti kita akan mengirimkan Data kita. Data yang kita kirimkan adalah name
, email
, dan password
.
Tampilan dari Sistem Register pada Laravel kita akan terlihat seperti ini. Tinggal kita praktekkan saja.

Nah, tinggal di isi sesuai dengan keinginan kita. Lalu tinggal kita lihat hasilnya di Database kita. Misal kita output kan, nanti akan mendapat hasil seperti ini di Database kita.

Kesimpulan
Nah disini kita sudah menyelesaikan sistem Register pada Laravel. Besok kita akan melanjutkan sistem berikutnya untuk Login dan Logout di Laravel.
1 Response
[…] Belajar Laravel 8 #10 : Sistem Register pada Laravel […]