Membuat Multi Level Login User Dengan Codeigniter

Posted: 15 September 2017 | By: gagaspower

Membuat Login Multiuser Dengan Codeigniter – Pada tutorial saya kali ini akan menjelaskan tentang bagaimana cara membuat login session multiuser dengan codeigniter, tanpa banyak bicara mari kita cari tau bagimana sih cara membuat login session multiuser dengan codeigniter ?

Pertama buat database dan tabel untuk user disini saya membuat database tutorial dan tabel admin berikut sql nya :

membuat multi level login user dengan codeigniter

Kemudian insert data pada tabel berikut:

INSERT INTO `tutorial`.`admin` (`id`, `username`, `password`, `level`) VALUES (NULL, 'admin', MD5('admin'), 'admin'), (NULL, 'user', MD5('user'), 'user');

 

Seletah selesai membuat database kita akan membuat folder baru di folder htdocts Anda disini saya memakai xampp buat folder dengan nama ci_login kemudian buat Controller baru dengan nama c_login.php :

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

class C_login extends CI_Controller {

	public function index() {
		$this->load->view('index');
	}

	public function cek_login() {
	$data = array('username' => $this->input->post('username', TRUE),
					'password' => md5($this->input->post('password', TRUE))
			);
		$this->load->model('model_user'); // load model_user
		$hasil = $this->model_user->cek_user($data);
		if ($hasil->num_rows() == 1) {
			foreach ($hasil->result() as $sess) {
				$sess_data['logged_in'] = 'Sudah Loggin';
				$sess_data['id'] = $sess->id;
				$sess_data['username'] = $sess->username;
				$sess_data['level'] = $sess->level;
				$this->session->set_userdata($sess_data);
			}
			if ($this->session->userdata('level')=='admin') {
				redirect('admin/c_admin');
			}
			elseif ($this->session->userdata('level')=='user') {
				redirect('member/c_user');
			}		
		}
		else {
			echo "<script>alert('Gagal login: Cek username, password!');history.go(-1);</script>";
		}
	}

}

?>

buat folder/file php baru didalam Controller beri nama admin buat file didalamnya c_admin.php, kenapa membuat folder ? agar susunan file admin dan member terpisah dan lebih rapih :

<?php
session_start();
class C_admin extends CI_Controller {

	public function __construct() {
		parent::__construct();
		if ($this->session->userdata('username')=="") {
			redirect('c_login');
		}
		$this->load->helper('text');
	}
	public function index() {
		$data['username'] = $this->session->userdata('username');
		$this->load->view('admin/index', $data);
	}

	public function logout() {
		$this->session->unset_userdata('username');
		$this->session->unset_userdata('level');
		session_destroy();
		redirect('c_login');
	}
}
?>

 

lakukan seperti langkah diatas, buat folder/file php baru didalam Controller berinama member buat file didalamnya c_user.php :

<?php
session_start();
class C_user extends CI_Controller {

	public function __construct() {
		parent::__construct();
		if ($this->session->userdata('username')=="") {
			redirect('c_login');
		}
		$this->load->helper('text');
	}
	public function index() {
		$data['username'] = $this->session->userdata('username');
		$this->load->view('member/index', $data);
	}

	public function logout() {
		$this->session->unset_userdata('username');
		$this->session->unset_userdata('level');
		session_destroy();
		redirect('c_login');
	}
}
?>

 

Kemudian buat model baru dengan nama model_user.php untuk pengecekan user di database Anda :

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

	class Model_user extends CI_Model {

		public function cek_user($data) {
			$query = $this->db->get_where('admin', $data);
			return $query;
		}

	}

?>

 

Buat View untuk menampilkan form login dibrowser, klik new file didalam folder Application View dengan nama index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Login Admin</title>
</head>
<body>
<?php echo form_open("c_login/cek_login"); ?>
		<p>Username : <br>
		<input type="text" name="username">
		</p>
		<p>Password : <br>
		<input type="password" name="password"></p>
		<p><button type="submit">Submit</button></p>
		<?php echo form_close(); ?>
</body>
</html>

Buat folder baru didalam folder Application View berinama admin dan buat file index.php, ini untuk halaman admin apabila berhasil login

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Dashboard Admin</title>
</head>
<body>

<h1>Haii selamat datang, anda login sebagai <?php echo $username; ?></h1> <a href="<?php echo site_url('admin/c_admin/logout'); ?>">Logout</a>

</body>
</html>

Kemudian untuk halaman member buat folder baru didalam Application View berimana member dan buat file index.php, ini untuk halaman member apabila berhasil login

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Dashboard Member</title>
</head>
<body>

<h1>Haii selamat datang dihalaman <b>member</b>, anda login sebagai <?php echo $username; ?></h1> <a href="<?php echo site_url('admin/c_user/logout'); ?>">Logout</a>

</body>
</html>

Buka hasil buatan Anda dan lihat jika sudah benar akan muncul form login sederhana dengan tombol Log In. Masukan username dan password yang ada didatabase kemudian klik tombol login, apabila admin yang masuk akan diarahkan kehalaman admin apabila user akan diarahkan kehalaman member.

Arif

jika boleh tahu pengaturan pada autoload dan confignya gimana ya.. ini saya coba tiap kalo masukin user pass kembali lagi ke halaman login..
terimakasih

gagaspower [moderator]

untuk config cuma seting base_urlnya saja, untuk autoload di variable libraries kalo masnya pake database isi database, kemudian session, kalo masih kesulitan bisa saya bantu dan kirimkan script yang mas buat keemail :
pahlitamanata@gmail.com

Arif

saya pakai script persis yg mas pake diatas... tp entah ko tidka jalan dengan baik.. jika saya salahkan user passnya validation berjalan,... tp jika user pass benar tidak mau masuk ke index admin atau member tp kembali ke halaman login.

gagaspower [moderator]

coba kirim scriptnya ke email mas, nanti coba tek koreksi

gagaspower [moderator]

Coba ini mas, saya buatkan sample silahkan di download dan di coba:

https://www.dropbox.com/s/tj4e3qdi3n2z258/contoh.zip?dl=0

Tinggalkan Komentar

» Komentar Akan Di Publikasikan Jika Disetujui Administrator.

» Notifikasi Balasan Juga akan terkirim Ke email anda. Mohon masukan email yang valid dan aktif

Copyright ©2017 - Ruangpojok.net