Seach

how to use session class in codeigniter login demo

Controller emp.php

<?php
defined('BASEPATH') OR EXIT('Dirrect Access Not Allowed');
class Emp extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->library('session'); //used to load session library
        $this->load->helper('url','form');
    }
    public function index()
    {
        $this->load->view('login');
    }
    public function login()
    {
     $data=array('email'=>$this->input->post('userid'),'password'=>$this->input->post('password'));
     $this->load->model('login_user');
     $record=$this->login_user->entry($data);
     $this->session->set_userdata(array('id'=>$record->id,'email'=>$record->email));
     $this->load->view('userdata');
    }
}

Model login_user.php

<?php
defined('BASEPATH') OR EXIT('Dirrect Script Not Allowed');
class Login_user extends CI_Model
{
    public function __construct() {
        parent::__construct();
        $this->load->database();//used to load db settings and initialize database
    }
    public function entry($data)
    {
        $this->db->select("*");
        $this->db->from('login');
        $this->db->where($data);
        $query=$this->db->get();
        return $query->row();//returns a single row of record as object array
    }
}

login.php

<form method="post" action="<?php echo site_url('emp/login'); ?>">
    <table border="1">
        <tr>
            <td><label>UserId</label></td>
            <td><input type="text" name="userid" ></td>
        </tr>
        <tr>
            <td><label>Password</label></td>
            <td><input type="text" name="password" ></td>
        </tr>
        <tr>
            <td>
                <input type="submit" name="login" value="Login">
            </td>
        </tr>
    </table>

</form>

userdata.php

<?php
echo $this->session->userdata('id');
echo "<br/>";
echo $this->session->userdata('email');