Posted May.05, 2012 under Web Programming
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:
1
2
3
| $autoload [ 'libraries' ] = array ( 'database' , 'session' ); //melakukan load library database dan session ... $autoload [ 'helper' ] = array ( 'url' , 'form' ); //memanggil helper url dan form |
1
2
3
| $config [ 'base_url' ] = 'http://localhost/codeigniter' ; //ini adalah contoh url dasar menuju codeigniter ... $config [ 'index_page' ] = '' ; // kosongkan index_page |
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] |
1
2
3
| $db [ 'default' ][ 'username' ] = 'root' ; //user database $db [ 'default' ][ 'password' ] = 'password' ; //password database $db [ 'default' ][ 'database' ] = 'login' ; //nama database |
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' ); |
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:
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' ] = '' ; |
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:
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:
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:
1
2
3
4
5
6
7
8
| <html> <head> <title>HomePage!</title> </head> <body> <?= $pesan ?> </body> </html> |
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> |
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:
Hallo kalo mau belajar bikin form nya kunjungi juga artikel saya ya
Posting Komentar