· 8 years ago · Jan 25, 2018, 11:12 AM
1$config['sess_driver'] = 'files';
2$config['sess_cookie_name'] = 'ci_session';
3$config['sess_encrypt_cookie'] = TRUE;
4$config['sess_use_database'] = TRUE;
5$config['sess_expire_on_close'] = TRUE;
6$config['sess_table_name'] = 'ci_session';
7$config['sess_expiration'] = 60 * 30;
8$config['sess_save_path'] = NULL;
9$config['sess_match_ip'] = FALSE;
10$config['sess_match_useragent'] = TRUE;
11$config['sess_time_to_update'] = 300;
12$config['sess_regenerate_destroy'] = TRUE;
13
14<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
15class login_model extends CI_Model
16{
17 function __construct()
18 {
19 // Call the Model constructor
20 parent::__construct();
21 }
22 //get the username & password from tbl_usrs
23 function get_user($username, $password)
24 {
25 $this->db->where('username', $username);
26 $this->db->where('password', sha1($password));
27 $query = $this->db->get('tbl_users');
28 return $query->num_rows();
29 }
30}
31
32<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
33<div class="container">
34 <div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
35 <div class="well col-xs-12 col-sm-12 col-md-12 col-lg-10">
36 <?php
37 $attributes = array("class" => "form-horizontal", "id" => "loginform", "name" => "loginform");
38 echo form_open("account/login/", $attributes);?>
39 <?php echo $this->session->flashdata('msg'); ?>
40 <fieldset>
41 <legend>Login</legend>
42 <div class="form-group">
43 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
44 <label for="txt_username" class="control-label">Username</label>
45 </div>
46 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
47 <input class="form-control" id="txt_username" name="txt_username" placeholder="Please enter your username here." type="text" value="<?php echo set_value('txt_username'); ?>" />
48 <span class="text-danger"><?php echo form_error('txt_username'); ?></span>
49 </div>
50 </div>
51
52 <div class="form-group">
53 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
54 <label for="txt_password" class="control-label">Password</label>
55 </div>
56 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
57 <input class="form-control" id="txt_password" name="txt_password" placeholder="Please enter your password here." type="password" value="<?php echo set_value('txt_password'); ?>" />
58 <span class="text-danger"><?php echo form_error('txt_password'); ?></span>
59 </div>
60 </div>
61
62
63 <div class="form-group">
64 <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
65 <input id="btn_login" name="btn_login" type="submit" class="btn btn-primary btn-lg col-xs-12" style="margin-top: 5px; margin-bottom: 5px;" value="Login" />
66 </div>
67 <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
68 <input id="btn_cancel" name="btn_cancel" type="reset" class="btn btn-primary btn-lg col-xs-12" style="margin-top: 5px; margin-bottom: 5px;" value="Cancel" />
69 </div>
70 </div>
71 </fieldset>
72 <?php echo form_close(); ?>
73 </div>
74 </div>
75
76 <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
77 <p>test</p>
78 </div>
79</div>
80
81<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
82
83class login extends CI_Controller
84{
85 public function __construct()
86 {
87 parent::__construct();
88 $this->load->model('account/login_model');
89 }
90
91 public function index()
92 {
93
94
95 $data['Title'] = "";
96 $data['Description'] = "";
97 $data['Keywords'] = "";
98 $data['Type'] = "";
99 $data['Url'] = "";
100
101 $this->load->view('includes/header', $data);
102
103 //get the posted values
104 $username = $this->input->post("txt_username");
105 $password = $this->input->post("txt_password");
106
107 //set validations
108 $this->form_validation->set_rules("txt_username", "Username", "trim|required|min_length[8]|max_length[30]|xss_clean");
109 $this->form_validation->set_rules("txt_password", "Password", "trim|required|min_length[8]|max_length[32]|xss_clean");
110
111 if ($this->form_validation->run() == FALSE)
112 {
113 //validation fails
114 $this->load->view('account/login');
115 }
116 else
117 {
118 //validation succeeds
119 if ($this->input->post('btn_login') == "Login")
120 {
121 //check if username and password is correct
122 $usr_result = $this->login_model->get_user($username, $password);
123
124 if ($usr_result > 0) //active user record is present
125 {
126 //set the session variables
127 $sessiondata = array(
128 'username' => $username,
129 'loginuser' => TRUE
130 );
131 $this->session->set_userdata($sessiondata);
132 redirect("members/members_area");
133 }
134 else
135 {
136 $this->session->set_flashdata('msg', '<div class="alert alert-danger text-center">Invalid username or password! Please try again.</div>');
137 redirect('account/login');
138 }
139 }
140 else
141 {
142 redirect('account/login');
143 }
144 }
145 $this->load->view('includes/footer');
146 }
147
148}
149
150<?php defined('BASEPATH') OR exit('No direct script access allowed');
151
152class Members_Area extends CI_Controller {
153
154 public function __construct()
155 {
156 parent::__construct();
157 $this->loginuser();
158 }
159
160 public function index()
161 {
162
163
164 $data['Title'] = "";
165 $data['Description'] = "";
166 $data['Keywords'] = "";
167 $data['Type'] = "";
168 $data['Url'] = "";
169
170 $this->load->view('includes/member_header' , $data);
171 $this->load->view('members/members-area');
172 $this->load->view('includes/footer');
173
174 }
175
176 function loginuser()
177 {
178 $loginuser = $this->session->userdata('loginuser');
179
180 if (!isset($loginuser) || $loginuser != true )
181 {
182 echo 'Sorry you dont have premission to access this area. Please signup and login to gain access to this area.';
183 die();
184 }
185 }
186}
187
188<div class="container">
189 <div class="well col-xs-12 col-sm-12 col-md-12 col-lg-12">
190 <h3>Members Area</h3><br />
191 </div>
192</div>
193
194<?php defined('BASEPATH') OR exit('No direct script access allowed');
195
196class Logout extends CI_Controller {
197
198 public function index()
199 {
200
201
202 $data['Title'] = "";
203 $data['Description'] = "!";
204 $data['Keywords'] = "";
205 $data['Type'] = "";
206 $data['Url'] = "";
207
208 $this->load->view('includes/header' , $data);
209
210 // destroy session
211 $this->session->sess_destroy();
212 // redirect to other page
213 redirect('account/logout');
214
215 $this->load->view('includes/footer');
216 }
217}
218
219<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
220<div class="container">
221 <div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
222 <h2>You have logged out.</h2>
223 </div>
224 </div>
225
226 <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
227 <p>test</p>
228 </div>
229</div>
230
231$config['sess_use_database'] = TRUE;
232
233$config['sess_table_name'] = 'ci_sessions';
234
235$config['sess_driver'] = 'database';
236$config['sess_cookie_name'] = 'ci_session';
237$config['sess_expiration'] = 7200;
238$config['sess_save_path'] = 'ci_sessions';
239$config['sess_match_ip'] = FALSE;
240$config['sess_time_to_update'] = 300;
241$config['sess_regenerate_destroy'] = FALSE;
242
243CREATE TABLE IF NOT EXISTS `ci_sessions` (
244 `id` varchar(40) NOT NULL,
245 `ip_address` varchar(45) NOT NULL,
246 `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
247 `data` blob NOT NULL,
248 KEY `ci_sessions_timestamp` (`timestamp`)
249);