· 8 years ago · Jul 25, 2018, 05:54 AM
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="UTF-8">
5<title>Admin Login</title>
6<link rel="stylesheet" href="../css/normalize.css">
7<link rel="stylesheet" href="../css/admin-style.css">
8</head>
9<body>
10 <?php echo form_open('Verify_login', ['id'=>'loginForm', 'name'=>'loginForm', 'method'=>'post']) ?>
11 <div class="login">
12 <div class="log-box">
13 <h3>Login</h3>
14 <div >
15 <input id="username" name="username" placeholder="User Name" value="" type="text" >
16 <?php echo form_error('username'); ?>
17 <input id="Password" name="password" placeholder="Password" required type="password">
18 <?php echo form_error('password'); ?>
19 <div class="remember-me">
20 <input id="checkBox" type="checkbox">
21 <label for="checkBox">Remember Me</label>
22 </div>
23 <button class="login-button" name="loginButton">Login</button>
24 </div>
25 </div>
26 </div>
27 </form>
28</body>
29</html>
30
31<?php
32defined('BASEPATH') OR exit('No direct script access aloowed');
33
34class Verify_login extends CI_Controller
35{
36
37public function __construct()
38{
39 parent::__construct();
40 $this->load->model('User');
41 $this->load->helper('url');
42 $this->load->helper('security');
43 $this->load->library('form_validation');
44 $this->load->library('session');
45}
46
47public function index()
48{
49 $this->form_validation->set_rules('username', 'Username', 'trim|required');
50 $this->form_validation->set_rules('password', 'Password', 'trim|required|callback_check_database');
51 if ($this->form_validation->run() == FALSE) {
52 // if validation failed load the view
53 $this->load->view('admin/login');
54 }
55
56 else{
57 $this->check_database($username , $password);
58 redirect('dashboard', 'refresh');
59 }
60}
61
62public function check_database($password)
63{
64 $username = $this->input->post('username');
65
66 //query tha database
67 $result = $this->User->login($username, $password);
68
69 if ($result) {
70 $sess_array = [];
71 foreach ($result as $row) {
72 $sess_array =
73 [
74 'id'=>$row->id,
75 'username'=>$row->name
76 ];
77 $this->session->set_userdata('logged_in', $sess_array);
78 }
79 return TRUE;
80 }
81 else{
82
83 $this->form_validation->set_message('check_database','invalid username and password');
84 }
85 }
86 }
87?>
88
89session_start(); //need to call PHP's session object to access it though it
90class Admin extends CI_Controller
91{
92
93public $data;
94public function __construct()
95{
96 parent::__construct();
97 $this->load->helper('url');
98
99 $this->load->helper('form');
100 $this->load->helper('url');
101 $this->load->library('form_validation');
102 $this->load->helper('security');
103
104 //load user model
105 $this->load->model('User');
106
107}
108public function index()
109{
110 // $this->load->view('admin/index');
111 if ($this->session->userdata('logged_in')) {
112
113 $session_data = $this->session->userdata('logged_in');
114 $data['username'] = $session_data['name'];
115 $this->load->view('admin/dashboard', $data);
116 }
117 else{
118
119 //if no session redirect to login page
120 redirect('admin', 'refresh');
121 // redirect('login');
122 }
123}
124
125public function logout()
126{
127 $this->session->unset_userdata('logged_in');
128 session_destroy();
129 redirect('home', 'refresh');
130}
131
132<?php
133
134defined('BASEPATH') OR exit('no direct script allowed');
135
136class User extends CI_Model
137{
138 protected $table = 'users';
139
140 public function __construct()
141 {
142 $this->load->database();
143 }
144
145 public function login($username ,$password)
146 {
147 var_dump($username);
148 var_dump($password);
149 $this->db->select(['id', 'name', 'password']);
150 $this->db->from($this->table);
151 // $this->db->where('name', $username);
152 // $this->db->where('password', $password);
153 $this->db->limit(1);
154
155 $query = $this->db->get();
156 if ($query->num_rows() == 1) {
157 return $query->result();
158 }
159 else{
160
161 return false;
162 }
163 }
164 }
165 ?>
166
167session_start(); //need to call PHP's session object to access it though it
168
169//:::::$autoload['libraries'] = array();
170//'session', this mean start session ini_set()
171$autoload['libraries'] = array('session', 'database');
172
173$config['sess_driver'] = 'files';
174$config['sess_cookie_name'] = 'ci_session';
175$config['sess_expiration'] = 7200;
176$config['sess_save_path'] = NULL;
177$config['sess_match_ip'] = FALSE;
178$config['sess_time_to_update'] = 300;
179$config['sess_regenerate_destroy'] = FALSE;
180
181CREATE TABLE IF NOT EXISTS `ci_sessions` (
182 `id` varchar(128) NOT NULL,
183 `ip_address` varchar(45) NOT NULL,
184 `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
185 `data` blob NOT NULL,
186 KEY `ci_sessions_timestamp` (`timestamp`)
187);
188
189$config['sess_driver'] = 'database';
190$config['sess_cookie_name'] = 'newname_session';
191$config['sess_expiration'] = 72000;
192$config['sess_save_path'] ='newname_sessions';
193$config['sess_match_ip'] = TRUE;
194$config['sess_time_to_update'] = 300;
195$config['sess_regenerate_destroy'] = FALSE;