Membuat Website dengan Framework Codeigniter (part 5)


Seperti janji saya pada pertemuan sebelumnya yaitu membuat halaman login.

Sebelum membuatnya terlebih dahulu buat sebuah database dengan nama misalnya website_sederhana.

Kemudian buat sebuah table dalam database tersebut dengan nama user misalnya.

CREATE TABLE IF NOT EXISTS 'user' (
     'id' int(11) NOT NULL AUTO_INCREMENT,
     'nama' text NOT NULL,
     'username' text NOT NULL,
     'email' text NOT NULL,
     'password' text NOT NULL,
     'level' text NOT NULL,
     PRIMARY KEY ('id')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

Sebelum membuat halaman login nya terlebih dahulu kita buat halaman register nya dulu.
Kenapa harus buat register dulu dan tidak halaman login terus karna disini nantinya password type nya dalam bentuk md5.

Untuk halaman register nya dapat agan dowload disini!

Jika file sudah di download sekarang buka file database.php dalam folder config

Dan kemudian lakukan konfigurasi seperti berikut

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'website_sederhana';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

Jika semuanya sudah.
Sekarang buat controller baru dengan nama login.php
Dan ketikkan code berikut :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Controller {
     function index() {
          $validasi = array(
               array(
                    'field' => 'username', 'rules' => 'required|trim|htmlspecialchars'
               ),
               array(
                    'field' => 'password', 'rules' => 'required|trim|htmlspecialchars'
               ),
          );
          $this->form_validation->set_rules($validasi);
          $this->form_validation->set_message('required', 'Fieldnya Diisi Dong Tant!');
          $valid = $this->form_validation->run();

          if($valid == TRUE) {
               $this->load->model('mod_login');
               $login_array = array($this->input->post('username'), md5(sha1($this->input->post('password'))));

               if($this->mod_login->login($login_array)) {
                    header('location:./admin');
               } else {
                    $this->load->view('login');
               }
          } else {
               $this->load->view('login');
          }
     }
}

Sekarang buat sebuah model baru dengan nama mod_login.php file ini disimipan dalam folder model.
Kemudian ketikkan code berikut :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Mod_login extends CI_Model {
     function login($login_array_input = NULL) {
          if(!isset($login_array_input) OR count($login_array_input) != 2) {
               return FALSE;
          }
          $uname = $login_array_input[0];
          $password = $login_array_input[1];

          $this->db->select('*')->where('username', $uname);
          $admin = $this->db->get('user', 1);

          if($admin->num_rows() > 0) {
               $baris = $admin->row();
               $id = $baris->id;
               $nama = $baris->nama;
               $username = $baris->username;
               $pass = $baris->password;
               $level = $baris->level;

               if($password === $pass) {
                    if($level == 1) {
                         $this->session->set_userdata('admin', $nama);
                         return TRUE;
                    } else {
                         echo '<script language="JavaScript">alert("Maaf Anda Tidak Memiliki Akses! \n Kontak Admin Untuk Mengaktifkan Akun Anda!"); window.location = "login";</script>';
                         return FALSE;
                    }
               } else {
                    echo '<script language="JavaScript">alert("Maaf Username atau Password Salah!"); window.location = "login";</script>';
                    return FALSE;
               }
          } else {
               echo '<script language="JavaScript">alert("Maaf Anda Belum Terdaftar!"); window.location = "login";</script>';
               return FALSE;
          }
     }

     function cek_logged() {
          if($this->session->userdata('admin')) {
               return 'Website Sederhana';
          } else {
               return FALSE;
          }
      }
}

Jika model mod_login.php sudah siapa dibuat sekarang buat view login nya dengan nama login.php, file ini disimpan dalam folder views tentunya.

Disini saya tidak akan membuat file CSS nya untuk tampilan lebih dinamis, jika agan2 memang ingin lebih dinamis tampilan loginnya cari aja di paman Google

file login.php (application/views)

<html>
<head>
<title>Login Form | Website Serhana</title>
</head>

<body>
<?=form_open()?>
<h2>Form Login Website Sederhana</h2>
<table width="200" border="1">
     <tr>
          <td>Username</td>
          <td>:</td>
          <td><input type="text" name="username" /><?=form_error('username', '<div>', '</div>')?></td>
     </tr>
     <tr>
          <td>Password</td>
          <td>:</td>
          <td><input type="password" name="password" /><?=form_error('password', '<div>', '</div>')?></td>
     </tr>
     <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td><input type="submit" value="Login" /><input type="reset" name="button2" id="button2" value="Reset" /></td>
     </tr>
</table>
<?=form_close()?>
</body>
</html>

Sekarang buka browser agan dengan URL http://localost/websitesederhana/register/

Lakukan register seperti gambar ini :

Jika agan tidak ingin pada form Name nya Website Sederhana, agan bisa mengganti dengan nama agan sendiri.
Tapi kemudian pada file mod_login.php, cari code ini ‘Website Sederhana’; Kemudian ganti menjadi nama agan.

Sekarang coba agan login dengan URL http://localhost/websitesederhana/login.

Kemudian isikan :
Username : website
Password :// terserah agan, saat melakukan register.

Sekarang browser agan dengan URL http://localhost/phpmyadmin/

Buka table database user yang agan buat sebelumnya, di dalam tabel tersebut sudah ada nama yang telah di register sebelumnya, jika masih kosong silahkan register dulu kalau begitu..

Yang jadi maksud saya adalah : Saat agan melakukan registrasi pada column level isi nya angka 2 bukan, sekarang ganti angka 2 tersebut menjadi angka 1.

Jika ada pertanyaan tentang kenapa harus angkat 1, silhkan comment ajah di bawah…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 122 other followers