Login Authentikasi
Setelah isikan data pada tabel tersebut melalui tab INSERT. Lihat contoh
datanya pada gambar 7.1.
1
<?php
class Mlogin extends Model {
function cekdb() {
$username = $this->input->post('username');
$pass = $this->input->post('pass');
$this->db->where('username', $username);
$this->db->where('pass', $pass);
$query = $this->db->get('user');
return $query->result();
}
}
?>
Penjelasan Kode :
class Mlogin extends Model , skrip deklarasi untuk menciptakan
class model bernama mlogin.
function cekdb() , skrip untuk membuat function cekdb yang
digunakan untuk mencek terhadap database berdasarkan username dan
password yang dikirimkan.
$username = $this->input->post('username'); , membuat
variabel $username untuk menampung parameter POST username dari
form.
$pass = $this->input->post('pass'); , membuat variabel $pass
untuk menampung parameter POST password dari form.
$this->db->where('username', $username); , untuk menyeleksi
filter data berdasarkan username.
$this->db->where('pass', $pass); , untuk menyeleksi filter data
berdasarkan password. Jadi jika digabungkan akan menghasilkan kode
:
2
return $query->result(); , skrip untuk mengembalikan nilai hasil
dari $query.
Buat file controller dengan nama clogin.php dan letakkan dalam folder
system/application/controllers. Adapun skripnya sebagai berikut :
<?php
class Clogin extends Controller {
function Clogin() {
parent::Controller();
$this->load->model('mlogin');
$this->load->library('session');
}
function index() {
$this->load->view('vlogin');
}
}
?>
Penjelasan Kode :
class Clogin extends Controller , skrip deklarasi untuk
menciptakan class controller Clogin.
function Clogin() , function ini merupakan function constructor.
Berdasarkan function index tersebut, dilakukan load terhadap file view bernama
vlogin.php, oleh karena itu, kita buat file dengan nama tersebut dan letakkan
dalam folder system/application/views. Adapun skripnya sebagai berikut :
3
<td> Username </td>
<td> : <?php echo form_input('username'); ?> </td>
</tr>
<tr>
<td> password </td>
<td> : <?php echo form_password('pass'); ?> </td>
</tr>
<tr>
<td> <?php echo form_submit('submit', 'Login'); ?> </td>
</tr>
</table>
<?php echo form_close(); ?>
Penjelasan Kode :
<?php echo form_open('clogin/usermasuk'); ?> , skrip untuk
membuka form, dimana form ini akan diarahkan kepada
clogin/usermasuk.
<?php echo form_input('username'); ?> , membuat input teks
bernama username. Lihat pada penanganan Form. Skrip ini berlaku
untuk kode yang mirip dibawah.
<?php echo form_close(); ?> , skrip untuk menutup form.
Pada form, diarahkan kepada function bernama usermasuk. Oleh karena itu,
tambahkan function usermasuk didalam file controller berikut :
<?php
class Clogin extends Controller {
function Clogin() {
parent::Controller();
$this->load->model('mlogin');
$this->load->library('session');
}
function index() {
$this->load->view('vlogin');
}
function cekuser() {
$data['username'] = $this->input->post('username');
$data['pass'] = $this->input->post('pass');
$data['hasil'] = $this->mlogin->cekdb();
if($data['hasil'] == null) {
return "no";
}
else {
return "yes";
}
4
}
function usermasuk() {
if($this->cekuser() == "yes") {
$data['username'] = $this->input-
>post('username');
$newdata = array('username' => $data['username'],
'status' => 'ok');
$this->session->set_userdata($newdata);
$data['tampil'] = $this->mlogin->cekdb();
$this->load->view('loginsukses', $data);
}
else {
echo "Login gagal";
}
}
}
?>
Penjelasan Kode :
function cekuser() , untuk membuat function cekuser.
<html>
<head>
5
<title> Login Sukses </title>
</head>
<body>
</body>
</html>
Penjelasan Kode :
<?php foreach($tampil as $row): ?> , untuk mengulang variabel
bernilai array ke dalam satuan record $row.
<?php echo $row->nama; ?> , menampilkan field nama dari tabel
user.
<a href="<?php echo site_url(); ?>/clogin/logout"> Logout
</a> , membuat link Logout.
6
Gambar 8.3. Login berhasil
Ada satu function yang belum kita buat. Apa hayoo.. ? that’s right brother,
function logout!... yang digunakan apabila kita ingin keluar dari halaman
tersebut. tambahkan function logout pada file controller clogin.php berikut :
function logout() {
$this->session->sess_destroy();
echo "Anda telah keluar (logout)";
}
Refresh/reload pada web browser, kemudian klik link Logout, maka Anda akan
keluar dari halaman user tersebut. lihat gambar 8.4.