membuat login dengan codeigniter
DESCRIPTION
login sederhana yang di implementasikan pada framework codeigniterTRANSCRIPT
MEMBUAT LOGIN DENGAN CODEIGNITER
Saya akan membagikan tutorial tentang pembuatan login di
codeigniter. biasanya saya make php manual tanpa make framework nah.
udah beberapa bulan ini udah nyaman make beberapa framework kayak CI,
Fuelphp, Laravel. Nah kali ini bahas Code Igniter dulu. kita akan membuat
sebuah apliaksi login sederhana menggunakan framework code igniter.
framework code igniter ini ada di urutan no 2 dari 10 daftar framework
terngetop di dunia bisa dilihat Di Situs PHP Framework. Langsung saja lanjut
ke langkah pembuatan aplikasinya.
Langkah Awal :
langkah pertama kita buat dahulu, buat database dengan nama login lalu buat
table dengan nama admin dengan kolom id,username dan password, Lalu
eksekusi Query berikut ini.
INSERT INTO `admin`(`id`, `username`, `password`) VALUES
(1,'agus',sha1(‘agus’))
Langkah kedua :
Langkah kedua. kita buat modelnya.
Model ini berfungsi menampung query query database. untuk nantinya di
proses dalam controller dan ditampilkan ke View
- MVC
buat model login di dalam folder application/model dengan nama m_login ,
lalu isikan dengan script berikut ini.
<?php
class M_login extends CI_Model {
function __construct() {
parent::__construct();
}
function login($where = '')
{
return $this->db->query("select * from admin $where;");
}
}
?>
Model di atas akan mengeksekusi query select untuk mengambil data user
dan password dari database. dan nantinya akan di proses di bagian
controller
Langkah ketiga :
Untuk selanjutnya kita perlu membuat controller untuk memproses data dari
model. Kita buat seuah file dengan nama c_login.php di dalam folder
application/controller. Lalu buat kode seperti dibawah ini:
<?php
class C_login extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('M_login');
}
function index()
{
$data = array(
'judul' => 'Halaman Login - SIstem
Informasi Absensi',
'eror_a' => '',
);
$this->load->view('v_login',$data);
}
function auth()
{
if($_POST){
$username = $this->input->post('username');
$password = $this->encrypt->sha1($this-
>input->post('password'));
$temp = $this->M_login-
>login("where username = '$username' and password =
'$password' and level = 'admin'")->result_array();
if($temp != NULL){
$data = array(
'username' =>
$temp[0]['username'],
'password' =>
$temp[0]['password'],
);
$this->session-
>set_userdata('loginista',$data);
session_start();
echo “BERHASIL”;
}
else {
$data = array (
'judul' => 'Halaman
Login - SIstem Informasi Absensi',
'eror_a' => 'Username /
Password Tidak Benar',
);
$this->load->view('v_login',$data);
}
}
}
}
?>
Kita load Model yang telah dibuat tadi di dalam construct, ini berguna agar
setiap kita memanggil modelnya, kita tidak perlu meload ulang model
tersebut hanya cukup menggunakan kode $this->nama_model->
Function index()
Digunakan untuk meload halaman admin, array didalamnya untuk
parameter dihalaman view loginya nanti.
Function auth()
Digunakan untuk proses validasi proses login yang kita buat. Password
menggunakan enkripsi SHA1. Sehingga codenya menjadi seperti ini:
$password = $this->encrypt->sha1($this->input->post('password'));
Langkah Ke Empat:
Langkah terakhir kita buat viewnya. Tampilan loginya maksudnya. Kita buat
file dengan nama v_login.php di dalam folder application/view/
Lalu buat kode seperti ini :
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-
8" />
<title><?php echo $judul ?></title>
<link rel="stylesheet" href="<?php echo base_url();
?>assets/css/screen.css" type="text/css" media="screen"
title="default" />
</head>
<body id="login-bg">
<div id="login-holder">
<div id="logo-login">
</div>
<div class="clear"></div>
<div id="loginbox">
<div id="login-inner">
<form action="<?php echo base_url(); ?>auth"
method="POST">
<table border="0" cellpadding="0" cellspacing="0">
<p style="color:#ff0000;padding: 5px;"><?php echo
$eror_a ?></p>
<tr>
<th>Username</th>
<td><input type="text" placeholder="Username"
required="required" name="username" class="login-inp" /></td>
</tr>
<tr>
<th>Password</th>
<td><input type="password"
placeholder="Password" required="required" name="password"
class="login-inp" /></td>
</tr>
<tr>
<th></th>
<td><input type="submit" class="submit-login"
value="Masuk" /></td>
</tr>
</table>
</form>
</div>
<div class="clear"></div>
</div>
</div>
</body>
</html>
Tambahkan File Style.css pada folder assets/css/
<style>
textarea, input[type="text"], input[type="password"],select,
input[type="datetime"], input[type="datetime-local"],
input[type="date"], input[type="month"], input[type="time"],
input[type="week"], input[type="number"], input[type="email"],
input[type="url"], input[type="search"], input[type="tel"],
input[type="color"], .uneditable-input {
border: 2px solid #bdc3c7;
color: #34495e;
font-family: "Lato", sans-serif;
font-size: 14px;
padding: 8px 5px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
-webkit-transition: border .25s linear, color .25s linear;
-moz-transition: border .25s linear, color .25s linear;
-o-transition: border .25s linear, color .25s linear;
transition: border .25s linear, color .25s linear;
-webkit-backface-visibility: hidden;
width: 325px;
}
#login-bg{background:url(../images/login/login_bg.jpg) no-repeat top
center}
#login-holder{margin:0px auto 0 auto; width:508px}
#loginbox{background:url(../images/login/loginbox_bg.png) no-repeat;
font-size:12px; height:212px; line-height:12px; padding-top:60px;
position:relative; width:508px}
</style>
Pastikan bahwa file v_login ini telah kita panggil di dalam fungsi index
di File Controller tadi. Function_index()
Langkah kelima:
Konfigurasi Koneksi Database.
Buka application\config\autoload.php dan edit konfigurasi default
sebagai berikut :
$autoload['libraries'] = array('database');
$autoload['helper'] = array('url','form');
Juga buka application\config\config.php dan konfigurasi seperti
dibawah ini :
$config['base_url'] = 'http://localhost/login/';
Edit application\config\database.php seperti dibawah ini :
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = ‘’;
$db['default']['database'] = 'login';
$db['default']['dbdriver'] = 'mysql';
Juga buka application\config\routes.php dan konfigurasi seperti
dibawah ini :
$route['default_controller'] = "c_login”;
Kalau berhasil maka akan tampil halaman login. Dan coba inputkan
isername dan password. Jika berhasil maka tampil berhasil dan jika gagal
maka tampil Gagal.
Tentang Penulis
Agus Cahyono, lahir di Kota Lumajang, 13 Agustus 1992. Mahasiswa yang
hobi tidur dan music rock ini , masih aktif sebagai mahasiswa IT.
Menggemari dunia pemrograman khususnya web programming. Menjabat
sebagai CEO di meramestudio dan CEO di wanabut group sebuah online
store di Indonesia.
Saat ini penulis masih aktif sebagai mahasiswa semester akhir di UIN
Maulana Malik Ibrahim malang di jurusan Teknik Informatika. Berharap
semoga apa yang saya tulis dapat bermanfaat untuk anda semua.
Penulis dapat dihubungi melalui :
HP : 081559819359 / 081336035196
Email : [email protected]
FB : http://facebook.com/cahyocode
Twitter : @gauscahyono
Blog / URL : kicencode.wordpress.com