Login Form In CodeIgniter

Login Form in CodeIgniter

In this article, we are going to explain how to make a simple login form with sessions and Login in the Codeigniter framework. In this tutorial, we will make simple login forms with sessions by using the Codeigniter framework. In the Codeigniter framework creating sessions is different than simple PHP. We will discuss how to create sessions for login into the system in the Codeigniter framework. Here we will discuss how can we use the model view controller coding style to validate user information and if the user has entered the right login information and then create a simple session variable in the Codeigniter framework. Here the system is working on model view controller coding style, that means here system has received login data from the view and from view it has been sending to the controller and then after the controller has sent that data to models for validating data are proper or not, then after model send back the result to controller and controller send back result to view. This way the login system is working in the Codeigniter framework. This is my simple CodeIgniter application for the login system.

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  
 ?>  

Controllers - main.php

 <?php  
 defined('BASEPATH') OR exit('No direct script access allowed');  
 class Main extends CI_Controller {  
      //functions  
      function login()  
      {  
           //http://localhost/blazingcoders/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>Blazingcoders</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> 

Related Posts
Static Website Design And Development Company Coimbatore

Static Website Design And Development Company Coimbatore. Blazingcoders is a leading web design a

Hire Web Developer & Web Designers Delhi

We are Experts from Delhi, India providing highly professional Web developer in Delhi location.

Facebook Marketing Company In India

Blazingcoders is a Facebook marketing company in India which provides a precise way to find, engage

Outsource And Offshore Testing Company India

Blazingcoders an Outsource and Offshore testing company in India provides various options in So

Get free quote for

Login Form in CodeIgniter

log in and Logout Code in Codeigniter

Contact us