Membuat Fitur Register dengan Laravel

Halo, Sobat Jagoan! Setelah belajar membuat fitur login dan logout di artikel seri Laravel sebelumnya, di artikel kali ini akan belajar membuat fitur register atau pendaftaran. Dengan fitur ini, pengguna baru bisa langsung mendaftarkan diri ke dalam aplikasi. Data yang dimasukkan dalam form registrasi akan digunakan untuk proses autentikasi ketika pengguna melakukan login ke aplikasi. Simak, kuyy!

Oh iya, Sob, artikel ini akan memanfaatkan tabel users bawaan Laravel untuk membuat fitur register, melanjutkan apa yang sudah dibuat pada artikel Membuat Fitur Login dan Logout dengan Laravel. Jadi, pastikan kamu memahami konsep implementasinya dan sudah menyiapkan aplikasi Laravel di lokal kamu.

Step 1: Membuat Controller

Buat controller bernama ‘RegisterController’ menggunakan perintah artisan.

				
					php artisan make:controller RegisterController
				
			

Kemudian buka file RegisterController.php untuk menambahkan function yang menangani proses pendaftaran akun.

				
					public function show() {
        return view('formRegister');
    }

    public function register(Request $request) {
        // Validasi Input
        $request->validate([
            'name'     => 'required|string|max:255',
            'email'    => 'required|email|unique:users,email',
            'password' => 'required|string|min:8|confirmed',
        ]);

        // Buat User Baru
        User::create([
            'name'     => $request->name,
            'email'    => $request->email,
            'password' => bcrypt($request->password),
        ]);

        return redirect('/login')->with('status', 'Registrasi berhasil! Silakan login untuk melanjutkan.');
    }
				
			

Jangan lupa, menambahkan import yang mengarah ke model User.php dan library Auth Laravel.

				
					use App\Models\User;
				
			

Step 2: Membuat Tampilan Register

Buat tampilan halaman register pada resources/views/ dengan nama ‘formRegister.blade.php’.

<!DOCTYPE html>

<html lang=”en”>

<head>

    <meta charset=”UTF-8″>

    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>

    <title>Register</title>

    <link href=”https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css” rel=”stylesheet”>

</head>

<body>

    <div class=”container d-flex justify-content-center align-items-center vh-100″>

        <div class=”card p-4 shadow” style=”width: 400px;”>

            <h3 class=”text-center mb-4″>Register</h3>

            <form action=”/register” method=”POST” class=”mb-3″>

                @csrf

                <!– Name –>

                <div class=”mb-3″>

                    <label for=”name” class=”form-label”>Nama</label>

                    <input type=”text” name=”name” class=”form-control” id=”name” required>

                    @error(‘name’)

                        <div class=”text-danger”>{{ $message }}</div>

                    @enderror

                </div>

                <!– Email –>

                <div class=”mb-3″>

                    <label for=”email” class=”form-label”>Email</label>

                    <input type=”email” name=”email” class=”form-control” id=”email” required>

                    @error(‘email’)

                        <div class=”text-danger”>{{ $message }}</div>

                    @enderror

                </div>

                <!– Password –>

                <div class=”mb-3″>

                    <label for=”password” class=”form-label”>Password</label>

                    <input type=”password” name=”password” class=”form-control” id=”password” required>

                    @error(‘password’)

                        <div class=”text-danger”>{{ $message }}</div>

                    @enderror

                </div>

                <!– Confirm Password –>

                <div class=”mb-3″>

                    <label for=”password_confirmation” class=”form-label”>Konfirmasi Password</label>

                    <input type=”password” name=”password_confirmation” class=”form-control” id=”password_confirmation” required>

                </div>

                <!– Submit –>

                <button type=”submit” class=”btn btn-success w-100″>Register</button>

            </form>

 

            <div class=”text-center”>

                <p>Sudah punya akun? <a href=”{{ route(‘login’) }}”>Login di sini</a></p>

            </div>

 

        </div>

    </div>

</body>

</html>

Step 3: Menambahkan Route Register

Atur rute aplikasi untuk mengakses halaman register dan untuk memproses input pendaftaran pengguna di folder routes/web.php

				
					use App\Http\Controllers\RegisterController;

Route::get('/register', [RegisterController::class, 'show'])->name('register');
Route::post('/register', [RegisterController::class, 'register']);

				
			

Step 4: Menambahkan Tombol Register

Pengguna akan mengakses halaman login dengan url http://127.0.0.1:8000/login ketika pertama kali membuka website. Kamu perlu memberikan opsi bagi pengguna yang ingin melakukan registrasi di halaman Login. Jadi, modifikasi halaman login dengan memberikan tombol registrasi.

				
					<div class="text-center mt-3">
    <p>Belum punya akun? <a href="{{ route('register') }}">Daftar di sini</a></p>
</div>

				
			

Kamu bisa menyesuaikan kode di atas sesuai kebutuhan sistem kamu.

Step 5: Uji Coba Form Register

Akses halaman login aplikasi kamu, lalu klik link Daftar di sini untuk melakukan pendaftaran akunmu.

1-klik-daftar-akun

Kemudian coba lengkapi form pendaftaran akun untuk mendaftarkan pengguna baru ke sistem aplikasi.

2-coba-daftar-akun-baru-buat-form-register-laravel

Kalau ada yang masih bikin bingung, jangan ragu hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket, Sob!

Related Posts
Tips Mengatasi Error Undefined Index / Variable

Pengantar Halo sobat Jagoan! di tutorial kali ini kita bakalan membahas permasalahan Error Undefined Index/Variable. Pasti sekarang kamu lagi main-main Read more

Informasi Menu pada FTP Session Control di cPanel

Hai, Sobat Jagoan! Apa sobat sudah tau apa itu FTP Session Control? nih, Sob FTP Session Control bisa dibilang alat Read more

Tutorial Backup Data Website Melalui Softacolous pada cPanel

Hai Sob! Apakah Sobat sedang mencari cara gimana caranya melakukan backup data website melalui softacolous pada cPanel? Tenang aja Sob, Read more

Tutorial Mudah Setting Mail pada Mac Operating System

Hai Sob! Apakah Sobat butuh panduan untuk melakukan setting Mail pada Mac OS Sobat? Tenang aja Sob! Jagoan Hosting selalu Read more