Skip to main content

Codeigniter Login Form using Ajax: Codeigniter Club


Codeigniter login form with validation using Ajax

In this tutorial, we will understand how to create a simple login form using Codeigniter. 

Create database table using Mysql database

create login table in mysql database. Just copy paste query in Mysql database.

 CREATE TABLE `login` (  
 `id` int(11) NOT NULL,  
 `user_id` int(25) NOT NULL,  
 `session` varchar(10) NOT NULL,  
 `system_ip` varchar(100) NOT NULL,  
 `login_at` datetime NOT NULL DEFAULT current_timestamp(),  
 `logout_at` datetime NOT NULL  
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;  

Create view

create a file in view folder with the name of loginpage.php.

 <div class="container-scroller">  
   <div class="container-fluid page-body-wrapper full-page-wrapper">  
    <div class="content-wrapper d-flex align-items-center auth px-0">  
     <div class="row w-100 mx-0">  
      <div class="col-lg-4 mx-auto">  
       <div class="auth-form-light text-left py-5 px-4 px-sm-5">  
       <div class="brand-logo" style="text-align:center;font-weight:400;font-size:30px;">  
         <sapn style="color:orange;font-weight:600;">{...}</sapn>  
         <br>  
         <span>The Developer Club</span>  
        </div>  
        <h4>Hello! let's get started</h4>  
        <h6 class="font-weight-light">Sign in to continue.</h6>  
        <form id="login_devmediax" class="pt-3">  
         <div class="form-group">  
          <input type="email" name="email" class="form-control form-control-lg" id="exampleInputEmail1" placeholder="Email">  
         </div>  
         <div class="form-group">  
          <input type="password" name="password" class="form-control form-control-lg" id="exampleInputPassword1" placeholder="Password">  
         </div>  
         <div class="mt-3">  
          <button class="btn btn-block btn-primary btn-lg font-weight-medium auth-form-btn">SIGN IN</button>  
         </div>  
         <div class="my-2 d-flex justify-content-between align-items-center">  
          <div class="form-check">  
           <label class="form-check-label text-muted">  
            <input type="checkbox" name="remember" class="form-check-input">  
            Keep me signed in  
           </label>  
          </div>  
          <a href="#" class="auth-link text-black">Forgot password?</a>  
         </div>  
         <div class="mb-2">  
          <button type="button" class="btn btn-block btn-facebook auth-form-btn">  
           <i class="mdi mdi-facebook mr-2"></i>Connect using facebook  
          </button>  
         </div>  
         <div class="text-center mt-4 font-weight-light">  
          Don't have an account? <a href="<?php echo base_url('login/register');?>" class="text-primary">Create</a>  
         </div>  
        </form>  
       </div>  
      </div>  
     </div>  
    </div>  
    <!-- content-wrapper ends -->  
   </div>  
   <!-- page-body-wrapper ends -->  
  </div>  

Create Controller

create a controller file in controller folder with the name of Login.php. You can copy paste code in controller file. 

 public function index()  
      {  
           if($_POST){  
                $this->form_validation->set_rules('email', 'Email', 'required');  
                $this->form_validation->set_rules('password', 'Password', 'required');  
                if($this->form_validation->run() == FALSE) {  
                     //Field validation failed. User redirected to login page  
                     $this->load->view('users/login');  
                 } else {   
                     $sessArray = array();  
                     //Field validation succeeded. Validate against database  
                     $email = $this->input->post('email');  
                     $password = $this->input->post('password');  
                     $data = array('email'=>$email,  
                                         'password'=>MD5($password));  
                     //query the database  
                     $result = $this->Login_Model->check_login($data);  
                     if($result) {  
                      foreach($result as $row) {  
                          $sessArray = array(  
                           'user_id' => $row->username,  
                           'email' => $row->email,  
                           'password' => $row->password,  
                           'is_authenticated' => TRUE,  
                          );  
                      $this->session->set_userdata($sessArray);  
                      }  
                      $this->load->view('include/header');  
                      $this->load->view('admin/dashboard');  
                      $this->load->view('include/footer');  
                      redirect('home',$sessArray);  
                     } else {  
                      redirect('login?msg=1');  
                     }   
                 }  
           }else{  
                $this->load->view('login');  
           }  
      }  

Create Model

create a model file in model folder with the name of Login_Model.php. You can copy paste code in model file. 

 public function check_login($data){  
     $this -> db -> select('username, email, password');  
     $this -> db -> from('registration');  
     $this -> db -> where('email', $data['email']);  
     $this -> db -> where('password', $data['password']);
     $query = $this -> db -> get();  
     if($query -> num_rows() != 0) {  
     return $query->result();  
     } else {  
     return false;  
     }  
   }  


Useful Link

How to secure codeigniter website?

Codeigniter registration form with validation


Comments

Popular posts from this blog

How to secure codeigniter website?

CSRF Protection (Cross-Site Request Forgery) CSRF process of an attacker tricking their victim into unknowingly submitting a request. CodeIgniter provides CSRF protection out of the box, which will get automatically triggered for every non-GET HTTP request, but also needs you to create your submit forms in a certain way. URI Security CodeIgniter contain following character in URI ·          Alpha-numeric text (Latin characters only) ·          Tilde: ~ ·          Per cent sign: % ·          Period: . ·          Colon: : ·          Underscore: _ ·          Dash: - ·          Space Password Handling ·        ...

Create rest api to send curl request from codeigniter controller to google cloud for text to speech convert using codeigniter 3.

  Create Google Cloud account https://cloud.google.com/ You can create account using existing mail id. Obtain api key for Text to Speech. Create Rest Api to convert text to speech.  We are using cUrl method to send a request. Create Api.php and extend REST_Controller  <?php defined('BASEPATH') OR exit('No direct script access allowed'); require APPPATH . '/libraries/REST_Controller.php'; class Api extends REST_Controller{ public function __construct(){ parent::__construct(); } public function index_get() { $text = "Hi, how are you doing? Very well thank you. How about you? Not so well. But thank you for asking. How is the weather there? Oh, its very warm out here."; $audioContent = $this->generateSpeech($text); $this->response(array( "status" => 1, "message" => "question 1", "data" => $audioContent ), REST_Controller::HTTP_OK); } private function generateSpeech(...

Building Dynamic Web Applications with CodeIgniter 3

Introduction:                                 CodeIgniter 3 is a powerful PHP framework that simplifies web application development. Its simplicity and flexibility make it a popular choice among developers for creating dynamic and robust web applications. In this blog post, we'll explore some essential concepts and features of CodeIgniter 3 and show you how to get started with building your web applications.  Installation and Setup:   Begin by downloading and installing CodeIgniter 3.  Configure your development environment (e.g., Apache, MySQL, PHP).  Create a new CodeIgniter project structure.  Model-View-Controller (MVC) Architecture:  Understand the MVC design pattern used in CodeIgniter.  Learn how to structure your application using models, views, and controllers.  Explore the benefits of separating application logic.  Routing and URLs:  ...