Dasar Login dan Logout | Tutorial CodeIgniter

Posted by love your self first On Sabtu, 15 September 2012 1 komentar
Dasar Framework  Codeigniter
Setelah mengetahui apa itu PHP Framework, sekarang saya akan coba memberikan tutorial code igniter framework untuk dasar login dan logout. Suatu framework mempunyai aturan sendiri-sendiri untuk memakainya, begitu juga dengan Framework Codeigniter. Tetapi tenang saja, ketika kamu download CI, di dalamnya sudah terdapat manual atau user guide penggunaannya. Kamu bisa download codeigniter paling terbaru dengan klik link ini: Download Codeigniter.
Setelah kamu download, extract ke folder baru dengan nama “codeigniter” di htdocs software web server kamu. Kalo saya sih pakainya XAMPP, dan saya sudah pernah menerangkan cara install XAMPP di artikel sebelumnya. Setelah sudah kamu pasang, coba akses di localhost maka tampilannya seperti gambar di bawah ini:

Setelah berhasil kamu pasang, coba buka folder application/config. Mulailah untuk melakukan konfigurasi atau setting code igniternya. Buka dan edit file autoload.php dan ubah seperti code di bawah ini:
autoload.php
1
2
3
$autoload['libraries'] = array('database', 'session'); //melakukan load library database dan session
...
$autoload['helper'] = array('url', 'form'); //memanggil helper url dan form
Buka dan edit file config.php pada code di bawah ini:
config.php
1
2
3
$config['base_url']    = 'http://localhost/codeigniter'; //ini adalah contoh url dasar menuju codeigniter
...
$config['index_page'] = ''; // kosongkan index_page
Jika sudah, buat file .htaccess di folder utama aplikasi codeigniter dan isi file .htaccess dengan code di bawah ini lalu simpan:
file htaccess
1
2
3
4
5
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Langkah selanjutnya, kita kembali ke application/config. Buka file dan ubah seperti code di bawah ini:
database.php
1
2
3
$db['default']['username'] = 'root'; //user database
$db['default']['password'] = 'password'; //password database
$db['default']['database'] = 'login'; //nama database
Langkah selanjutnya buat database baru dengan nama “login” dan kemudian buat tabel “login”. Cara mudah import sql di bawah ini:
Import MYSQL
1
2
3
4
5
6
7
8
CREATE TABLE `login` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(15) NOT NULL,
`password` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
 
INSERT INTO `login` VALUES ('1', 'user', '5f4dcc3b5aa765d61d8327deb882cf99');
Oke, sampai di sini persiapan untuk prakteknya. :)

Mengatur Route URL di Router Code Igniter Framework

Untuk mengatur route url di code igniter cukup mudah, yaitu buka application/config/routes.php kemudian isi dengan kode berikut:
routes.php
1
2
3
4
5
6
$route['default_controller'] = "web/index";
$route['index'] = "web/index";
$route['login'] = "web/login";
$route['logout'] = "web/logout";
 
$route['404_override'] = '';
Route di dalam code igniter framework menggunakan metode array. Key array sebagai url dan nilai array sebagai petunjuk route class, method dan input.

Membuat Controller di Code Igniter Framework

Sekarang lanjut ke Controller, buat file baru dengan nama “web.php” di dalam folder application/controllers. Berikut contoh script kodenya:
web.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
class Web extends CI_Controller {
 
function __construct()
{
parent::__construct();
$this->load->model('login_model');
$this->client_logon = $this->session->userdata('logged');
}
 
public function index()
{
if($this->client_logon)
{
$data['pesan'] = 'Anda sudah berhasil login! Klik di sini untuk <a href="http://localhost/codeigniter/logout">LOGOUT</a>.';
 
$this->load->view('vhome', $data);
}
else
{
redirect('login');
}
}
 
public function login()
{
if($_POST)
{
$user = $this->login_model->validate($_POST['username'], $_POST['password']);
 
if($user == TRUE)
{
redirect('index');
}
else
{
$data['pesan'] = 'Username atau password salah!';
$this->load->view('vlogin', $data);
}
 
}
else
{
$this->load->view('vlogin');
}
}
 
public function logout()
{
$this->login_model->logout();
redirect('login');
}
 
}

Membuat Model di Code Igniter Framework

Buat file “login_model.php” di dalam application/models. Isi file dengan kode berikut:
login_model.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
class Login_model extends CI_Model {
 
public function login($user_id)
{
$CI =& get_instance();
$CI->session->set_userdata('logged', $user_id);
}
 
public function logout()
{
$CI =& get_instance();
$CI->session->sess_destroy();
}
 
public function validate($username,$password)
{
$query = $this->db->get_where('login', array('username' => $username));
$cek = $query->num_rows();
if($cek != 0)
{
foreach($query->result() as $row):
$client['id_client'] = $row->id;
$client['username'] = $row->username;
$client['password'] = $row->password;
endforeach;
 
$passmd5 = md5($password);
 
if($passmd5 == $client['password'])
{
$this->login($client['id_client']);
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
 
}

Membuat View di Code Igniter Framework

Langkah terakhir kita membuat 2 view di dalam folder application/views. File view yang pertama bernama “vhome.php”, berikut code vhome.php:
vhome.php
1
2
3
4
5
6
7
8
<html>
<head>
<title>HomePage!</title>
</head>
<body>
<?=$pesan?>
</body>
</html>
File view yang ke-dua yaitu “vlogin.php” yaitu view berupa form login. Berikut kodenya:
vlogin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<title>Login Dulu!</title>
</head>
<body>
<?=form_open()?>
<?=isset($pesan) ? $pesan : ''?>
<table align="center">
<tr>
<td>
<p>Username</p>
</td><td>
:
</td><td>
<?=form_input('username')?>
</td>
</tr><tr>
<td>
<p>Password</p>
</td><td>
:
</td><td>
<?=form_password('password')?>
</td>
</tr><tr>
<td colspan="3">
<?=form_submit('submit', 'Login')?>
</td>
</tr>
</table>
<?=form_close()?>
</body>
</html>
Oke, seharusnya sekarang contoh login dan logout menggunakan code igniter sudah bisa digunakan. Test melalui browser dengan alamat: “http://localhost/codeigniter”. Jika Anda belum login maka akan langsung dilempar ke: “http://localhost/codeigniter/login” untuk mengisi form login. Untuk mencoba login, ketikkan username: user, dan password: password.
Kalau sudah login maka kamu akan berada di “http://localhost/codeigniter/index”. Untuk logout langsung saja ke url: “http://localhost/codeigniter/logout”. Cukup mudah bukan?

ARTIKEL TERKAIT:

1 komentar:

Rumah Code mengatakan...

Hallo kalo mau belajar bikin form nya kunjungi juga artikel saya ya

Posting Komentar