2014-01-10 44 views
0

我想執行登錄代碼。我有一個登錄表單,其中有兩個字段,分別命名爲用戶名和密碼,數據庫中的表名是tbllogin,其中有login_name和password字段。 當我執行它。我收到以下錯誤。如何在codeigniter中執行登錄代碼...?

消息:使用未定義的常量錯誤 - 假定爲'錯誤'。 文件名:控制器/ login.php中

代碼:

public function processlogin() 
{ 
    // $this->load->model('login_model'); 
    // $show =true; 
    // $user = $this->login_model->showUser($show); 
    $username = $this->input->post('username'); 
    $password = $this->input->post('pass'); 

    $this->load->database(); 
    $query = $this->db->get_where('tbllogin', array('login_name' => $username)); 

    //$query = $this->db->query('SELECT * FROM tbllogin'); 
    $this->load->library('encrypt'); 
    $key = '12345'; 

    $match = false; 
    foreach ($query->result() as $row) 
    { 
     $encrypted_password = $this->encrypt->decode($row->password,$key); 
     if($password === $encrypted_password) 
     { 
      echo $row->login_name; 
      echo $encrypted_password; 
      $match = true; 
     } 
    } 

    //echo 'Total Results: ' . $query->num_rows(); 
    if($match) 
    { 
     echo "success"; 
     $this->load->helper('url'); 
     redirect('/index.php/home'); 
    } 
    else 
    { 
     echo 'error'; 
    } 
} 
+1

此行是你的問題'回聲錯誤;'嘗試某事像'回聲「錯誤」;' – Boris

+0

謝謝,我已經試過it..but現在它不顯示任何錯誤消息,而只是顯示爲'錯誤'。 –

+1

你期望看到什麼樣的錯誤?數據庫,輸入驗證,例外?上面的代碼將檢查'如果'是否存在'密碼匹配',否則''它將打印「錯誤」(例如密碼不匹配),如上所述。 – Boris

回答

1
echo error; 

這種說法是完全錯誤的。 PHP認爲錯誤是一個常量。對此的解決方案是Error Handling

否則,使用CI的表單驗證系統和簡單的:

echo validation_errors();