tb_users.sql
CREATE TABLE IF NOT EXISTS `tb_users` (
`ID_users` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL,
`level` varchar(30) NOT NULL,
PRIMARY KEY (`ID_users`)
);
INSERT INTO `tb_users` (`ID_users`, `username`, `password`, `level`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'admin'),
(2, 'user', 'ee11cbb19052e40b07aac0ca060c23ee', 'user'),
(3, 'editor', '5aee9dbd2a188839105073571bee1b1f', 'editor');
./application/config/autoload.php
$autoload['libraries'] = array('database', 'form_validation', 'session');
$autoload['helper'] = array('url', 'html');
./application/config/config.php
$config['encryption_key'] = 'my_encryption_key';
./application/controllers/multi_access.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Multi_access extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$validation = array(
array('field' => 'username', 'rules' => 'required'),
array('field' => 'password', 'rules' => 'required|md5')
);
$this->form_validation->set_rules($validation);
if ($this->form_validation->run() == true) {
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('tb_users');
$row = $query->row();
if ($query->num_rows() > 0) {
$this->session->set_userdata('is_login', $row->ID_users);
redirect('multi_access/check_login');
}
}
$this->load->view('multi_login/form_login');
}
public function check_login() {
$session = $this->session->userdata('is_login');
$this->db->where('ID_users', $session);
$query = $this->db->get('tb_users');
$row = $query->row();
if ($query->num_rows() > 0) {
if ($row->level == 'admin') {
redirect('multi_access/success_login');
} elseif ($row->level == 'user') {
redirect('multi_access/success_login');
} elseif ($row->level == 'editor') {
redirect('multi_access/success_login');
}
} else {
return true;
}
}
public function success_login() {
$session = $this->session->userdata('is_login');
$this->db->where('ID_users', $session);
$data['session'] = $this->db->get('tb_users')->row();
$this->load->view('multi_login/after_login', $data);
}
public function logout() {
$this->session->unset_userdata('is_login');
$this->session->sess_destroy();
redirect('multi_access');
}
}
/* End of file multi_access.php */
/* Location: ./application/controllers/multi_access.php */
./application/views/mutli_login/form_login.php
<?=form_open();?>
<?=form_input(array('name' => 'username', 'placeholder' => 'Username', 'value' => set_value('username')));?>
<?=form_password(array('name' => 'password', 'placeholder' => 'Password', 'value' => set_value('Password')));?>
<?=form_submit('login', 'Login');?>
<?=form_close();?>
./application/views/mutli_login/success_login.php
<p>Username : <?=$session->username;?></p>
<p>Level : <?=$session->level;?></p>
<p style="float:right"><?=anchor('multi_access/logout', 'Logout');?></p>
0 comments:
Post a Comment