autoload.php
<?php
$autoload['libraries'] = array('database', 'session');
//For Load Session Library in this application
?>
config.php
<?php
$config['encryption_key'] = 'xRUqKhsoZ5qV6y3kqARFJFdPqJvp7X2z';
// For encrypt session data by using encryption class
?>
Table: users
-- Table structure for table `users`
--
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(250) NOT NULL,
`password` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `username`, `password`) VALUES
(1, 'admin', 'admin');
Controllers - main.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Main extends CI_Controller {
//functions
function login()
{
//http://localhost/tutorial/codeigniter/main/login
$data['title'] = 'CodeIgniter Simple Login Form With Sessions';
$this->load->view("login", $data);
}
function login_validation()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if($this->form_validation->run())
{
//true
$username = $this->input->post('username');
$password = $this->input->post('password');
//model function
$this->load->model('main_model');
if($this->main_model->can_login($username, $password))
{
$session_data = array(
'username' => $username
);
$this->session->set_userdata($session_data);
redirect(base_url() . 'main/enter');
}
else
{
$this->session->set_flashdata('error', 'Invalid Username and Password');
redirect(base_url() . 'main/login');
}
}
else
{
//false
$this->login();
}
}
function enter(){
if($this->session->userdata('username') != '')
{
echo '<h2>Welcome - '.$this->session->userdata('username').'</h2>';
echo '<label><a href="'.base_url
().'main/logout">Logout</a></label>';
}
else
{
redirect(base_url() . 'main/login');
}
}
function logout()
{
$this->session->unset_userdata('username');
redirect(base_url() . 'main/login');
}
}
Models - main_model.php
<?php
class Main_model extends CI_Model
{
function can_login($username, $password)
{
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('users');
//SELECT * FROM users WHERE username = '$username' AND password = '$password'
if($query->num_rows() > 0)
{
return true;
}
else
{
return false;
}
}
}
Views - login.php
<!DOCTYPE html>
<html>
<head>
<title>Webslesson | <?php echo $title; ?></title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
</head>
<body>
<div class="container">
<br /><br /><br />
<form method="post" action="<?php echo base_url(); ?>main/login_validation">
<div class="form-group">
<label>Enter Username</label>
<input type="text" name="username" class="form-control" />
<span class="text-danger"><?php echo form_error('username'); ?
></span>
</div>
<div class="form-group">
<label>Enter Password</label>
<input type="password" name="password" class="form-control" />
<span class="text-danger"><?php echo form_error('password'); ?
></span>
</div>
<div class="form-group">
<input type="submit" name="insert" value="Login" class="btn btn-info" />
<?php
echo '<label class="text-danger">'.$this->session->flashdata
("error").'</label>';
?>
</div>
</form>
</div>
</body>
</html>
Comments
Post a Comment