Listing
Program
Controller Login.php
<?php
Class Login extends CI_Controller {
//constructor
public function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->helper('form');
$this->load->library('form_validation');
$this->load->library('session'); }
//index for showing the login form
function index() {
$this->load->view('login_view');}
//this function will do the login process
function proseslogin() {
$username = $this->input->post('username');
$password = $this->input->post('password');
$passwordx = md5($password);
//the query is to matching the username+password user with
username+password from database
$q = $this->db->query("SELECT * FROM tb_user
WHERE username='$username' AND userpass='$passwordx'");
if ($q->num_rows() == 1) {
// if the query is TRUE, then save the username into session
and load the welcome view
$nama = $q->row()->username;
$this->session->set_userdata('username',$nama);
$data['welcome'] = "Welcome $nama";
$this->load->view('welcome_view', $data);}
else {
// query error
$data['error']='!! Wrong Username or Password !!';
$this->load->view('login_view', $data);}}
//to do logout process
function logout() {
$this->session->sess_destroy();
$data['logout'] = 'You have been logged out.';
$this->load->view('login_view', $data);}}
?>
Model akun.php
<?php
Class ModelAkun extends CI_Model {
function __construct() {
parent::__construct(); } f
function cekUserPass($username, $password) {
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('user');
return $query->num_rows() > 0;}
function isLogin() {
return $this->session->userdata('username');}}
?>
View login_view.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><head>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<title>Login with CI</title>
<center>
<h2> <b> Login with CI </b> <h2>
<?php echo form_open('login/proseslogin'); ?>
<table border="0" align="center">
<tr>
<td> Username</td>
<td> <input name="username"
type="text"> </td>
</tr>
<tr>
<td> Password</td>
<td> <input name="password"
type="password"> </td>
</tr><tr>
<td> </td>
<td> <input name="submit"
type="submit" value="login"> </td>
</tr>
</table>
</form>
<?php if(isset($error)) echo "<b><span
style='color:red;'>$error</span></b>";
if(isset($logout)) echo "<b><span
style='color:red;'>$logout</span></b>"; ?>
</center>
</body></html>
View Welcome_view.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><head>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<title>Login with CI</title>
<center>
<?php if(isset($welcome)) echo "<h2><span
style='color:red;'>$welcome</span></h2>";
echo "<br/>";
echo anchor("login/logout", 'Logout') ?>
</center>
</body></html>
Database
Output
kali ini kita akan membuat session pada CI. Session adalah
sebuah varibel sementara yang diletakkan di server. Di mana PHP bisa mengambil
nilai yang tersimpan di server walaupun kita membuka halaman baru. Biasanya
session akan hilang jika kamu menutup browser.
Sebelum kamu menggunakan fungsi – fungsi tentang session di CI kamu hrus memanggil library session terlebih dahulu dengan cara :
$this->load->library('session');
Selanjutnya cara kita membuat atau memasukan nilai ke variabel sementara atau session :
$this->session->set_userdata('some_name', 'some_value');
Sebelum kamu menggunakan fungsi – fungsi tentang session di CI kamu hrus memanggil library session terlebih dahulu dengan cara :
$this->load->library('session');
Selanjutnya cara kita membuat atau memasukan nilai ke variabel sementara atau session :
$this->session->set_userdata('some_name', 'some_value');
Yang kita
lakukan pertama kali adalah membuat database untuk session in dahulu yang berguna untuk
menyimpan nama admin yang dapat login ke dalah suatu halaman website. Kita
menyimpannya ke dalam database login.
Dari database kita menggunakan tabel login dan kita isi field dengan id
yang bertipa data integer dengan auto increment, nama dengan tipe data char dan
password dengan tipe data char lalu di enkripsi dengan algoritma md5. Gunanya
enkripsi ini adalah agar pihak lain tidak ada yang mengetahui password si admin
ynang mendaftar selain admin itu sendiri
. Lalu, kita isi dengan nama admin yaitu user dan password risma.
Setelah itu
kita masuk ke pemrogramannya. Pertama kita akan masuk ke controller login.php.
Didalam function index terdapat perintah $this->load->view(‘login_view’);
yang berarti bahwa akan memanggil file login_view.php di folder view. Di dalam
login view hanya terdapat tulisan Login With Ci dan form untuk username dan
submit serta button login. Dan jika kita klik button login maka akan menuju ke <?php
echo form_open('login/proseslogin'); ?> akan ke controller login dan
function proses login.
Di dalam
function proseslogin terdapat $username = $this->input->post('username');
// untuk membaca isian dari database login dan tabel login dengan field
username. $password = $this->input->post('password'); //untuk membaca
isian dari database login dan tabel login dengan field password yang diisikan
oleh user. $passwordx = md5($password); // perintah ini untuk mengganti
$password menjadi enkripsi dengan algoritma MD5. $q = $this->db->query("SELECT
* FROM tb_user WHERE username='$username' AND userpass='$passwordx'");
perintah ini untuk mencocokkan username dan password isian admin dengan record
yang username dan password yang tersimpan di dalam database.if
($q->num_rows() == 1) { Jika query benar dan username tersimpan di dalam
session kemudian akan memanggil welcome view. $nama =
$q->row()->username; $this->session->set_userdata('username',$nama);
$data['welcome'] = "Welcome $nama"; dengan nama Welcome dan nama
admin. $this->load->view('welcome_view', $data); Peintah ini untuk
memanggil welcome view.php di view else { jika data yang di masukkan tidak
cocok maka akan ke perintah berikut $data['error']='!! Wrong Username or
Password !!'; Menghasilkan tulisan !! Wrong Username or Password !!
Setelah
terpanggil, maka kita akan ke welcome_view. Di dlaam welcome view hanya aka
nada tulisan Welcome nama admin. Dan logout yang jika di klik maka akan ke
controller Login dan function logout. $this->session->sess_destroy();
session dimatikan $data['logout'] = 'You have been logged out.'; perintah ini
akan memunculkan tulisan 'You have been logged out. $this->load->view('login_view',
$data); Lalu, perintah ini untuk menampilkan login_view