Tutorial Codeigniter Part 5: Membuat Login Dengan Codeigniter
Persiapan Untuk Membuat Login Dengan Codeigniter
Untuk membuat login hal yang kita perlukan adalah sebuah database untuk menampung data pengguna/user. Database itu ada banyak jenisnya seperti MYSQL,Microsoft SQL Server,Microsoft access dan banyak lagi, namun disini saya akan menggunakan MYSQL.
Baca Juga
1. Pertama kamu harus mengaktifkan XAMPP kamu, untuk mendownload XAMPP kamu bisa kunjungi website resminya.- Tutorial Codeigniter Part 1 : Pengertian dan Cara Instalasi Codeigniter
- Tutorial Codeigniter Part 2: Mengenal Fungsi Dari Direktori Codeigniter
- Tutorial Codeigniter Part 3: Memahami Konfigurasi Awal,Controller dan View
- Tutorial Codeigniter Part 4 : Memahami URI Segment
×
2. Lalu, kalian bisa buka link ini http://localhost/phpmyadmin/, nanti kamu akan diarahkan kepengolahan atau pengaturan database nya.
3. Kamu bisa menklik basis data atau database pada pilihan menu lalu kamu bikin nama database nya seperti “belajarwithib” setelah itu tekan create atau buat.
4. Sekarang buat table baru dengan nama table “admin” dan jumlah koloumnya kamu bisa buat 3 setalah itu kalian bisa menekan kirim atau save.
5. Untuk mengisinya kamu bisa mengikuti foto dibawah dan jangan lupa buat AUTO_INCREMENT atau A_I pada field “Id” setelah itu tekan save.
6. Sekarang kali menekan Tambahkan/Insert pada pilihan menu lalu isikan Username: admin dan password: admin123 agar password lebih aman gunakan md5, ID tidak perlu diisi karena sudah AUTO_INCREMENT yang artinya sudah otomatis tertambah dan secara berurutan.
Oke kalian berhasil membuat database nya, nah setelah itu ada hal yang kamu persiap kan lagi dan ikuti langkah dibawah :
1. Aktifkan library database dan session
isikan database dan session di autoload library.
application/config/autoload.php
$autoload['libraries'] = array('database','session');
2. Aktifkan helper url
application/config/autoload.php
$autoload['helper'] = array('url');
3. Set encryption key session codeigniter
application/config/config.php
$config['encryption_key'] = 'belajarwithib';
4. Jangan lupa untuk menghubungkan codeigniter dengan database.
Application/config/config.php
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'belajarwithib',
Nah sampai di sini saya rasa persiapan dasar nya sudah beres. database dan data login si admin sudah ada, helper,menghubungkan database kecodeigniter dan library yang diperlukan juga sudah kita aktifkan, dan encryption key session codeigniter juga sudah kita set.
Baca Juga
- Tutorial Wordpress Part 1 : Pengenalan Dan Cara Instalasi
- Tutorial Wordpress Part 2 :Dashboard Wordpress,Instal Thema dan Plugin
- Tutorial Wordpress Part 3 : Cara Membuat Postingan Diwordpress
×
Membuat Form Login Dengan Codeigniter
Langkah selanjutnya buat sebuah controller dengan nama login.php di controller ini yang akan kita tugaskan untuk menampilkan form login dan melakukan verifikasi/authentikasi username dan password admin yang di masukkan.
application/controllers/login.php
<?php
class Login extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('m_login');
}
function index(){
$this->load->view('v_login');
}
function aksi_login(){
$username = $this->input->post('username');
$password = $this->input->post('password');
$where = array(
'username' => $username,
'password' => md5($password)
);
$cek = $this->m_login->cek_login("admin",$where)-
>num_rows();
if($cek > 0){
$data_session = array(
'nama' => $username,
'status' => "login"
);
$this->session->set_userdata($data_session);
redirect(base_url("admin"));
}else{
echo "Username dan password salah !";
}
}
function logout(){
$this->session->sess_destroy();
redirect(base_url('login'));
}
}
Nah kamu perhatikan pada bagian atas terdapat fungsi construct, fungsi construct adalah fungsi yang pertama kali di jalankan pada saat class di jalankan. Apa yang akan dijalankan? Fungsi construct akan otomatis menjalan model yaitu m_login.
Pada function index kita akan menjalan v_login yang dimana v_login ini belum buat, sekarang buat file baru pada application/views/v_login.php
<!DOCTYPE html>
<html>
<head>
<title>www.belajarwithib.my.id</title>
</head>
<body>
<h1>Membuat Login Dengan CodeIgniter</h1>
<form action="<?php echo base_url('login/aksi_login'); ?>"
method="post">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password"
name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
Untuk melihat hasilnya kamu bisa mengetik link seperti ini http://localhost/belajarwithib/login .Maka hasilnya akan seperti ini :
Oke coba kamu lihat kembali pada file v_login terdapat form action
<form action="<?php echo base_url('login/aksi_login'); ?>"
Yang artinya form ini akan diolah pada controller login dengan function aksi_login yang sebelumnya kita sudah buat tadi
application/controllers/login.php
function aksi_login(){
$username = $this->input->post('username');
$password = $this->input->post('password');
$where = array(
'username' => $username,
'password' => md5($password)
);
$cek = $this->m_login->cek_login("admin",$where)->num_rows();
if($cek > 0){
$data_session = array(
'nama' => $username,
'status' => "login"
);
$this->session->set_userdata($data_session);
redirect(base_url("admin"));
}else{
echo "Username dan password salah !";
}
}
Form login akan mengirimkan data yang kita masukkan pada coloum username dan password menjadi bentuk array lalu akan dikirim lagi ke m_login.php
$username = $this->input->post('username');
$password = $this->input->post('password');
$where = array(
'username' => $username,
'password' => md5($password)
);
Bagaimana mengecek ketersediaan data didalam database? Coba lihat kembali pada controller kita terdapat fungsi num_rows yang dimana itu berfungsi sebagai menghitung jumlah record.
$cek = $this->m_login->cek_login("admin",$where)->num_rows();
Oke sekarang kita akan membuat modelnya, sekarang buat file baru dengan namanya m_login.php letakkan file tersebut pada lokasi application/models/m_login.php
<?php
class M_login extends CI_Model{
function cek_login($table,$where){
return $this->db->get_where($table,$where);
}
}
Bagaimana cara mengecek username dan password salah atau benar ? coba kamu melihat kembali pada controller kita tadi
if($cek > 0){
$data_session = array(
'nama' => $username,
'status' => "login"
);
$this->session->set_userdata($data_session);
redirect(base_url("admin"));
}else{
echo "Username dan password salah !";
}
}
jika username dan password di temukan atau benar, maka kita buat session nama berisi username yang di isi tadi. dan session status berisi ‘login’. kemudian kita alihkan ke controller admin. jika username dan password tidak di temukan atau salah, maka halaman akan di tampilkan pesan “username dan password salah !“.
Oke sekarang kamu buat Controller baru dengan nama file admin.php
application/controllers/admin.php
<?php
class Admin extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata('status') != "login"){
redirect(base_url("login"));
}
}
function index(){
$this->load->view('v_admin');
}
}
Lihat pada fungsi contruct pada controller admin.php kita cek apakah session status ini untuk mendeteksi apakah user atau admin sudah login atau belum. berarti jika admin atau user sudah berhasil login kan otomatis admin atau user tersebut sudah memiliki session login. jika tidak maka halaman akan di alihkan ke halaman login lagi.
Nah sekarang kita akan membuat view untuk admin ketika berhasil login.
application/views/v_admin.php
<!DOCTYPE html>
<html>
<head>
<title>Membuat login dengan codeigniter</title>
</head>
<body>
<h1>Login berhasil !</h1>
<h2>Hai, <?php echo $this->session->userdata("nama"); ?></h2>
<a href="<?php echo base_url('login/logout'); ?>">Logout</a>
</body>
<footer>www.belajarwithib.my.id</footer>
</html>
Coba kamu lihat pada Logout, disitu kita sudah membuat functionnya di controller Login tadi
function logout(){
$this->session->sess_destroy();
redirect(base_url('login'));
}
Coba kamu lihat pada fungsi ini
$this->session->sess_destroy();
Itu berguna untuk menghapus semua session.
Mari kita coba Login yang telah kita buat tadi
Ketika login menggunakan Username dan Password yang benar
Jika Menggunkan Username dan Password Yang salah
Kesimpulan
Ini yang saya buat tutorialnya masih menggunakan 1 User jika pakai multiuser mungkin tutorial ini akan panjang XD tunggu aja deh next tutorialnya.
Penutupan
Mungkin sekian lah Tentang Tutorial Wordpress Part 2 :Dashboard Wordpress,Instal Thema dan Plugin .Semoga Tutorial Ini dapat membantu anda dalam segala keperluan anda masing-masing.
Support Website belajarwithib.my.id dengan donasi ke : klik disini .
Sekian dan Terima Kasih Telah Berkunjung