php - how to retrieve data in codeigniter without post it? -


i want session fname welcome admin site(crud), session username have because delclare $_session['username'] = $this->input->post('username');, question how make session fname database?

database sql

create table if not exists `users` (   `id` int(11) not null auto_increment,   `username` varchar(30) not null,   `password` varchar(32) not null,   `fname` varchar(30) default null,   `lname` varchar(30) default null,   primary key (`id`) ) 

controller

<?php if(!defined('basepath')) exit('tidak ada akses!');  class c_login extends ci_controller{      function __construct(){     session_start();     parent::__construct();     $this->load->model('m_user');  }  public function index(){     if(isset($_session['username'])){         redirect('crud');     }      $this->form_validation->set_rules('username','username','required');     $this->form_validation->set_rules('password','password','required');     if ($this->form_validation->run() == true){         $this->load->model('m_user');         $result = $this->m_user->cek_login(             $this->input->post('username'),             $this->input->post('password')         );             if($result == true){                 $_session['username'] = $this->input->post('username');                 redirect('crud');             }         }         $this->load->view('login/v_form');     }      public function daftar(){         $data = array(                         'username' => $this->input->post('username'),                         'password' => md5($this->input->post('password)')),                         'fname' => $this->input->post('fname'),                         'lname' => $this->input->post('lname')                         );         $this->m_user->tambah_user($data);         $this->load->view('login/v_daftar',$data);     }      public function logout(){         session_destroy();         $this->index();     } } 

model

<?php if(!defined('basepath')) exit('tidak ada access!');  class m_user extends ci_model{  function __construct(){     parent::__construct();   }  function cek_login($username,$password){     $query = $this->db->where('username',$username)                       ->where('password',md5($password))                       ->limit(1)                       ->get('users');          if ($query->num_rows() > 0){             return $query->row_array();         }         else{             return false;         }     }      function tambah_user($data){         return $this->db->insert('users', $data);     } } 

first off, should not post input session, should first validate against db. inputs should sanitized sql injections etc.

i, personally, ci's session library (you need autoload in autoload config)

then along these lines in model, or send $data controller , add session there.

if ($query->num_rows() === 1){            $row = $query->row();             $data = array (               'username'=> $row->id,               'fname' => $row->fname            );           $this->session->set_userdata($data);         } 

then, if want use session need call so

echo $this->session->userdata('username'); 

this echo user's id can use wish.


Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -