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.
Prasyarat
- Mengikuti artikel Cara Membuat Fitur Login dan Logout di CodeIgniter 4
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>

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.

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!
Hai, Sobat Jagoan! Softaculous adalah fitur auto-installer yang biasanya tersedia di cPanel dan digunakan untuk memasang berbagai aplikasi web secara Read more
Hai, Sobat Jagoan! Saat kamu mengembangkan proyek CodeIgniter, menggunakan Composer adalah langkah terbaik. Selain mendapatkan versi resmi terbaru, kamu juga Read more
Halo, Sobat! Remote repository adalah tempat penyimpanan proyek kamu di server Git yang bisa diakses dari mana saja melalui internet. Read more
Hai, Sobat Jagoan! Sebelum nyemplung lebih jauh dengan CodeIgniter versi 4, kamu perlu mengenal dan memahami konsep dasar CodeIgniter 4 Read more