Tutorial Codeigniter 3 Bagian #7 : Session Untuk halaman login & halaman admin

Tutorial Codeigniter 3 Bagian #7 : Session Untuk halaman login & halaman admin

Pada tutorial ci3 bagian ke 7 ini rumah code akan membahas tentang bagaimana penggunaan session untuk membuat halaman login php dan membuat halaman admin. Jika teman teman belum mengikuti tutorial codeigniter 3 ini ada baiknya membaca terlebih dahulu tutorial sebelumnya.

Membuat Halaman Login & Controller nya

  • View Untuk menampilkan halaman login

    Pada pembuatan halaman login ini penulis menggunakan form helper untuk membuat form login. Langkah pembuatan form login:

    • Buatlah View yang bernama admin_login.php dan masukan source code di bawah ini
      <?php echo form_open('admin/do_login'); 
      $user = array(
              'name'          => 'username',
              'id'            => 'username',
              'value'         => '',
              'maxlength'     => '30',
              'size'          => '50'
      );
      $password = array(
              'name'          => 'password',
              'id'            => 'password',
              'value'         => '',
              'maxlength'     => '30',
              'size'          => '50'
      );
      ?>
      <table>
      <tbody>
      <tr>
      <th style="text-align: center;" colspan="2">Codeigniter3 Login</th>
      </tr>
      <tr>
      <td>Username</td>
      <td>: <?php echo form_input($user); ?></td>
      </tr>
      <tr>
      <td>Password</td>
      <td>: <?php echo form_password($password); ?></td>
      </tr>
      <tr>
      <td> </td>
      <td> <?php echo form_submit('Submit', 'Login!'); ?> <?php echo form_reset('Reset', 'Reset!'); ?></td>
      </tr>
      </tbody>
      </table>​
  • Controller Untuk Halaman Login

    Buatlah Controller dengan nama file admin.php dan masukan kode di bawah ini untuk memanggil halaman login

    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    class Admin extends CI_Controller {
    	function __construct(){
    		parent::__construct();		
    		$this->load->model('m_crud');
            $this->load->helper('url');
    		$this->load->helper('form');
    		$this->load->library('session');
    	}
    	public function login()
    	{
    		$this->load->view('admin_login');
    	}
    }

    dengan source code di atas berarti halaman login dapat di akses dengan alamat http://localhost/ci3/admin/login

Membuat Validasi untuk halaman Login

Untuk memvalidsai halaman login tambahkanlah kode ini di bawah kurung kurawal tutup setelah fungsi login untuk memvalidasi username dan password yang dikirimkan oleh halaman login.

	public function do_login()
	{
		$username = $this->input->post('username');
		$password = $this->input->post('password');
		
		$where = array(
			'user_id' => $username,
			'user_password' => md5($password)
			);
		$tabel = 'user';
		$limit = '0';
		$offset = '1';
		$order = '';
		
		$login=$this->m_crud->tampil($tabel, $limit, $offset, $order, $where);
		$login = count($login);
		if ($login == 1)
		{
			$info_login = array(
						'username'  => $username,
						'logged_in' => TRUE
						);
			$this->session->set_userdata($info_login);
			$url = base_url('admin');
			$val = 'Login Berhasil';
		}else
		{
			$url = base_url('admin/login');
			$val = 'Login Gagal';
		}
		redirect($url.'?msg='.$val);
	}	

pada perintah di atas menjeaskan jika login berhasil makan akan langsung meredirect ke halaman admin akan tetapi jika login gagal akan kembali lagi ke halaman login.

Pembuatan fungsi untuk pengecekan session untuk halaman admin

Bagian ini bertujuan untuk membuat halaman tidak dapat diakses jika melakukan login dengan username dan password yang benar. Fungsi ini cukup dengan membuat fungsi cek_session() dengan baris perintah seperti ini

	public function cek_session()
	{
		$username = $this->session->username;
		$logged_in = $this->session->logged_in;
		if (empty($username) or empty($logged_in))
		{
			$url = base_url('admin/login');
			redirect($url);
		}
	}

Pembuatan halaman admin sederhana

ini adalah bagain dimana halaman yang hanya bisa di akses stelah melakukan login terlebih dahulu. Berikut ini adalah source code nya

	public function index()
	{
		$this->cek_session();
		echo 'Ini adalah Halaman admin';
	}

Pembuatan halaman logout

Halaman ini di buat bertujuan untuk menghancurkan session yang dibuat jika login berhasil. Berikut ini adalah source code nya

	public function logout()
	{
		session_destroy();
		$url = base_url('admin/login');
			redirect($url);
	}

alamat url untuk mengetes fungsi login ini:

Demikian lah tutorial halaman login dan halaman admin ini semoga dapat membantu.

Artikel Menarik Lainnya
Codeigniter, Codeigniter 3, Belajar Codeigniter 3

loading...