2016-02-29 37 views
0

我想從CodeIgniter版本2遷移到版本3,但是當我嘗試登錄時,事實證明存在問題,但是同一腳本和運行版本2時沒問題?有什麼可以幫助使用Codeigniter V.3創建登錄時出錯

這是我的錯誤

一個PHP錯誤遇到

嚴重性:注意

消息:未定義指數:用戶名

文件名:控制器/登錄。 php

行號:27

這是我的控制器

class Login extends CI_Controller { 

    function __construct() { 
     parent::__construct(); 

    } 

    function index($param='') { 

     if($param == 'error') 
      $param == 'Incorrect username or password'; 
        if($param == 'error1') 
      param == 'User not acctive';  

     $data = array('title'=>'KOPKAR - Login','message'=>$param,'base_url'=>base_url()); 
     $this->load->view('login/login', $data); 

    } 

    public function do_login() { 

     $data = $this->input->post(null,true); 
     $is_login = $this->db->get_where('user',array(
             'username'=>$data['username'], 
             'password'=>md5(trim($data['password'])) 
             ))->row(); 
     if($is_login){ 

      $session_set = array(

       'is_login' => true, 
       'nik'  => $is_login->nik, 
       'username' => $is_login->username, 
       'id_user' => $is_login->id_user, 
       'lastlogin' => $is_login->lastlogin,     
       'jabatan' => $is_login->jabatan 
      ); 
      $this->db->update('user',array('lastlogin'=>date('Y-m-d H:i:s')),array('id_user'=>$is_login->id_user)); 
      $this->session->set_userdata($session_set); 
      redirect('home'); 
     }else{ 

      redirect('login/index/error'); 
     } 

} 

} 
+0

在這裏設置'false'並檢查'$ this-> input-> post(null,false);' – Saty

+0

@Saty感謝您的評論,但它沒有工作, –

+2

'print_r($ data)'並檢查它!! – Saty

回答

1

檢查這個

public function do_login() { 

     $username = $this->input->post('username'); 
     $password = $this->input->post('password'); 
     $is_login = $this->db->get_where('user',array(
             'username'=>$username, 
             'password'=>md5(trim($password)) 
             ))->row(); 
     if($is_login){ 

      $session_set = array(

       'is_login' => true, 
       'nik'  => $is_login->nik, 
       'username' => $is_login->username, 
       'id_user' => $is_login->id_user, 
       'lastlogin' => $is_login->lastlogin,     
       'jabatan' => $is_login->jabatan 
      ); 
      $this->db->update('user',array('lastlogin'=>date('Y-m-d H:i:s')),array('id_user'=>$is_login->id_user)); 
      $this->session->set_userdata($session_set); 
      redirect('home'); 
     }else{ 

      redirect('login/index/error'); 
     } 

我加入這個

$username = $this->input->post('username'); 
$password = $this->input->post('password'); 

,並刪除該

$data = $this->input->post(null,true); 
+0

是的它的工作感謝@naseba c,但如果錯誤的用戶名/密碼重定向( '登錄/索引/錯誤');繼續重複, 例如:http:// localhost/barcode/login/incorect/login/login/do_login?username =&password = admin –

+0

使用'base_url()' –

+0

我嘗試重定向(base_url()。'/ login /索引/錯誤')但錯誤,消息:語法錯誤,意外的'}' –