Salam , ga terasa ya udah lama ga posting di blog ini, sekarang jumpa lagi kita disini dengan artikel yang tidak biasa saya share hehe, sebenarnya ini tugas kuliah saya, tapi sekalian supaya pembaca mungkin bisa membutuhkan toturial tersebut , oke langsung aja ke inti nya ya
disini saya akan membahas tentang membuat login dengan freamwork codeigniter,
oke pertama anda harus mempunyai bahan bahannya yaitu codeigniter, anda bisa mendownload nya
disini
jika sudah anda download anda extrack di folder xampp lalu htdocs
oke langkah pertama membuat login yaitu :
buat database anda dengan nama
arow
buat nama table nya
user dan isinya seperti ini
langkah keduanya atur file autoload.php yang terdapat di folder config
$autoload['libraries'] = array('database', 'session');
$autoload['helper'] = array('url');
lalu rubah menjadi
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '') . '://';
$newurl = str_replace("index.php","", $_SERVER['SCRIPT_NAME']);
$config['base_url'] = "$http" . $_SERVER['SERVER_NAME'] . "" . $newurl;
file di atas letakan di bagian bawah sintak
$config['base_url'] = ''; dan kasih komen double slash (//) di samping sintak
$config['base_url'] = ''; ,contoh komen-nya seperti ini
//$config['base_url'] = '';
Langkah Selanjutnya , Atur file database anda di config/database.php
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'arow';
$db['default']['dbdriver'] = 'mysql';
File routers.php tidak usah di atur
Langkah Selanjutnya untuk file controllers kita memakai file welcome yang ada di folder
controllers langsung ,buka file welcome.php lalu isi sintak di dalamnya
delete semua, kemudian paste sintak ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start();
class Welcome extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
if($this->session->userdata('logged_in'))
{
$session_data = $this->session->userdata('logged_in');
$data['username'] = $session_data['username'];
$this->load->view('welcome_home', $data);
}
else
{
redirect('welcome/login_index', 'refresh');
}
}
function login_index()
{
if($this->session->userdata('logged_in'))
{
redirect('welcome', 'refresh');
Buat file baru di controllers lalu simpan dengan nama verifylogin.php yang berisi :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class VerifyLogin extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('user','',TRUE);
}
function index()
{
//Aksi untuk melakukan validasi
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
if($this->form_validation->run() == FALSE)
{
//Jika validasi gagal user akan diarahkan kembali ke halaman login
$this->load->view('welcome_message');
}
else
{
//Jika berhasil user akan di arahkan ke private area
redirect('welcome', 'refresh');
}
}
function check_database($password)
{
//validasi field terhadap database
$username = $this->input->post('username');
//query ke database
$result = $this->user->login($username, $password);
if($result)
{
$sess_array = array();
foreach($result as $row)
{
$sess_array = array(
'id' => $row->id,
'username' => $row->username
);
$this->session->set_userdata('logged_in', $sess_array);
}
return TRUE;
}
else
{
$this->form_validation->set_message('check_database', 'Invalid username or password');
return false;
}
}
}
?>
Langkah selanjutnya buat file baru dengan nama user.php lalu simpan di folder models :
<?php
Class User extends CI_Model
{
function login($username, $password)
{
$this -> db -> select('id, username, password');
$this -> db -> from('users');
$this -> db -> where('username', $username);
$this -> db -> where('password', MD5($password));
$this -> db -> limit(1);
$query = $this -> db -> get();
if($query -> num_rows() == 1)
{
return $query->result();
}
else
{
return false;
}
}
}
?>
Untuk views kita memakai file views default di codeigniter, buka file
welcome_message.php lalu sintak didalamnya di delete dan paste sintak di
bawah ini :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Simple Login menggunakan CodeIgniter</title>
</head>
<body>
<h1>Simple Login menggunakan CodeIgniter</h1>
<?php echo validation_errors(); ?>
<?php echo form_open('verifylogin'); ?>
<label for="username">Username:</label>
<input type="text" size="20" id="username" name="username"/>
<label for="password">Password:</label>
<input type="password" size="20" id="passowrd" name="password"/>
<input type="submit" value="Login"/>
</form>
</body>
</html>
Buat file baru di folder views dengan nama welcome_home.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Simple Login menggunakan CodeIgniter - Private Area</title>
</head>
<body>
<h1>Home</h1>
<h2>Selamat datang<?php echo $username; ?>!</h2>
<a href="<?php echo site_url('welcome/logout');?>">Logout</a>
</body>
</html>
Jika sudah anda buka dengan browser kesayangan anda , jika sukses jangan segan untuk komentar , happy coding ^_^
sumber koding : kang-cahya