Cara Membuat Fitur Register di CodeIgniter 4

Halo, Sob! Setelah berhasil membuat fitur login dan logout pada artikel Cara Membuat Fitur Login dan Logout di CodeIgniter 4, kali ini akan melengkapi dengan menambahkan fitur register supaya pengguna bisa mendaftar secara mandiri ke aplikasi kamu. Yuk, simak caranya berikut ini.

Membuat Fitur Register

Fitur register berfungsi untuk mendaftarkan akun baru ke dalam sistem, sehingga pengguna yang belum pernah menggunakan aplikasi bisa mengisi data seperti nama, email, dan password untuk mendaftarkan dirinya.

STEP 1: Buka app/Routes.php lalu tambahkan routing untuk halaman register berikut.

				
					$routes->get('/register', 'Auth::register');
$routes->post('/register/process', 'Auth::registerProcess');

				
			

STEP 2: Kemudian, tambahkan method register di dalam app/Controllers/Auth.php untuk menangani proses registrasi.

				
					public function register()
{
    return view('auth/register');
}

public function registerProcess()
{
    $validation = \Config\Services::validation();

    $rules = [
        'nama' => 'required',
        'email' => 'required|valid_email|is_unique[users.email]',
        'password' => 'required|min_length[6]',
    ];

    if (!$this->validate($rules)) {
        return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
    }

    $model = new \App\Models\UserModel();

    $model->insert([
        'nama'     => $this->request->getPost('nama'),
        'email'    => $this->request->getPost('email'),
        'password' => password_hash($this->request->getPost('password'), PASSWORD_DEFAULT),
    ]);

    session()->setFlashdata('success', 'Registrasi berhasil! Silakan login.');
    return redirect()->to('/login');
}

				
			

STEP 3: Setelah menambahkan method di controller, selanjutnya buat view bernama register.php di dalam folder app/Views/auth/

<!DOCTYPE html>

<html lang=”id”>

<head>

    <meta charset=”UTF-8″>

    <title>Register</title>

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

</head>

<body>

<div class=”container mt-5″>

    <h3 class=”mb-4″>Registrasi Akun</h3>

 

    <?php if (session()->getFlashdata(‘errors’)): ?>

        <div class=”alert alert-danger”>

            <ul>

                <?php foreach (session()->getFlashdata(‘errors’) as $error): ?>

                    <li><?= esc($error) ?></li>

                <?php endforeach; ?>

            </ul>

        </div>

    <?php endif; ?>

 

    <form action=”<?= base_url(‘/register/process’) ?>” method=”post”>

        <div class=”mb-3″>

            <label>Nama</label>

            <input type=”text” name=”nama” class=”form-control” value=”<?= old(‘nama’) ?>” required>

        </div>

        <div class=”mb-3″>

            <label>Email</label>

            <input type=”email” name=”email” class=”form-control” value=”<?= old(‘email’) ?>” required>

        </div>

        <div class=”mb-3″>

            <label>Password</label>

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

        </div>

        <button type=”submit” class=”btn btn-primary”>Daftar</button>

        <a href=”<?= base_url(‘/login’) ?>” class=”btn btn-link”>Sudah punya akun? Login di sini</a>

    </form>

</div>

</body>

</html>

STEP 4: Pada artikel ini ingin menghubungkan halaman register dengan halaman login supaya pengguna bisa berpindah dengan mudah.

Selanjutnya, modifikasi view login pada app/Views/auth/login.php dengan menambahkan baris kode di bawah ini setelah tombol login.

<a href=”<?= base_url(‘/register’) ?>” class=”btn btn-link”>Belum punya akun? Daftar di sini</a>

1-buat-link-register

STEP 5: Sekarang coba buka http://localhost:8080/register, jangan lupa hidupkan server CodeIgniter ya, Sob. Lalu, coba buat akun baru dan login menggunakan kredensial yang sudah kamu daftarkan.

buat-fitur-register-code-igniter-4

Dengan sistem register, aplikasi dapat membatasi akses ke fitur tertentu hanya untuk pengguna yang telah terdaftar dan login. Selamat mencoba, Sob! Kalau ada yang masih bikin bingung, jangan ragu hubungi Tim Support Jagoan Hosting melalui Open Ticket, Sob!

Related Posts
Cara Install CodeIgniter di Softaculous cPanel

Hai, Sobat Jagoan! Softaculous adalah fitur auto-installer yang biasanya tersedia di cPanel dan digunakan untuk memasang berbagai aplikasi web secara Read more

Cara Install CodeIgniter dengan Composer di cPanel Hosting

Hai, Sobat Jagoan! Saat kamu mengembangkan proyek CodeIgniter, menggunakan Composer adalah langkah terbaik. Selain mendapatkan versi resmi terbaru, kamu juga Read more

Clone Proyek CodeIgniter dari Remote Repository ke Hosting

Halo, Sobat! Remote repository adalah tempat penyimpanan proyek kamu di server Git yang bisa diakses dari mana saja melalui internet. Read more

Memahami Konsep Dasar CodeIgniter 4

Hai, Sobat Jagoan! Sebelum nyemplung lebih jauh dengan CodeIgniter versi 4, kamu perlu mengenal dan memahami konsep dasar CodeIgniter 4 Read more