Membuat Halaman Login pada CodeIgniter PHP ini digunakan untuk membuat Halaman Admin adalah sambungan dari artikel CodeIgniter yang lain yaitu Menampilkan Data(View), Mengedit Data (Update), dan Menghapus (Delete).
Teknik membuat halaman login ini digunakan untuk membuat halaman Administrator yang diharapkan terlindungi dari akses oleh pengguna umum, atau pengguna yang tidak mengetahui username dan password, atau istilahnya pengguna yang tidak terautentikasi :)
Buat dahulu tabel (misal di database dbci seperti sebelumnya) berisi data login, di MySQL, misalnya seperti ini :
CREATE TABLE IF NOT EXISTS `login` (
`username` varchar(50) NOT NULL,
`password` varchar(50) DEFAULT NULL,
`akses` varchar(50) DEFAULT NULL,
PRIMARY KEY (`username`)
);
INSERT INTO `login` (`username`, `password`, `akses`) VALUES
('admin', MD5('123'), '1'),
('bos', MD5('321'), '2');
Aplikasi ini terdiri dari 5 buah file, pertama kita buat webci/application/views/vadmin.php seperti ini :
<?php
echo "Selamat Datang ";
if($akses == '1')
{
echo "admin";
}
elseif($akses == '2')
{
echo "user";
}
echo "<br/>";
echo anchor('login/logout','Logout');
?>
Kemudian kita buat webci/application/views/vlogin.php
<?php echo form_open('login/ceklogin');
if(isset($pesan))
{
echo $pesan;
}
?>
<table>
<tr>
<td>Username</td>
<td><?php echo form_input('username'); ?></td>
</tr>
<tr>
<td>Password</td>
<td><?php echo form_password('password'); ?></td>
</tr>
<tr>
<td> </td>
<td><?php echo form_submit('submit','Login'); ?></td>
</tr>
</table>
<?php echo form_close(); ?>
Setelah itu buatlah file model, yaitu webci/application/models/mlogin.php :
<?php
class Mlogin extends CI_Model{
function cekdb(){
$username = $this->input->post('username');
$password = md5($this->input->post('password'));
$this->db->where('username',$username);
$this->db->where('password',$password);
$query = $this->db->get('login');
return $query->result();
}
}
?>
Kemudian kita buat Controller admin.php di webci/application/controllers/admin.php :
<?php
class Admin extends CI_Controller{
function index(){
if($this->session->userdata('login') != 'TRUE')
{
$data['pesan'] = 'Belum Login';
$this->load->view('vlogin',$data);
}
else
{
$data['akses'] = $this->session->userdata('akses');
$this->load->view('vadmin',$data);
}
}
}
?>
Langkah terakhir tambahkan kode program ini pada Controller login.php yang ada di webci/application/controllers/login.php :
<?php
class Login extends CI_Controller{
function index(){
$this->load->view('vlogin');
}
function ceklogin(){
$this->load->model('mlogin');
$data['hasilquery'] = $this->mlogin->cekdb();
$this->load->library('session');
//print_r($data['hasilquery']); exit;
if($data['hasilquery'] != null){
$username = $this->input->post('username');
//atau bisa dari database
$username = $data['hasilquery'][0]->username;
$akses = $data['hasilquery'][0]->akses;
$sessiondata = array('userlogin'=>$username,'login'=>'TRUE','akses'=>$akses);
$this->session->set_userdata($sessiondata);
//untuk mengeset satu saja variable
$this->session->set_userdata('userlogin', $username);
$data['akses']=$this->session->userdata('akses');
//echo $this->session->userdata('userlogin');
//print_r($data['hasilquery']);
$this->load->view('vadmin',$data);
}
else
{
$data['pesan'] = 'Login Gagal';
$this->load->view('vlogin',$data);
}
}
function logout(){
//untuk mengeset variable satu per satu
$this->session->set_userdata('userlogin', '');
$this->session->set_userdata('login', 'false');
$sessiondata = array('userlogin'=>'','login'=>'FALSE');
$this->session->unset_userdata($sessiondata);
$this->load->view('vlogin');
}
}
?>
Hasilnya, panggil halaman Login dengan url http://127.0.0.1/webci/login/ :
Setelah mengetikkan username dan password dengan benar bisa masuk halaman admin :
Dan bisa melakukan logout,
Kemudian jika langsung mengakses halaman login padahal belum login hasilnya akan dikembalikan ke halaman login :
Project selengkapnya menyusul :)
Semoga berguna.
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :