2013-10-23 63 views
0

在CodeIgniter中,我設計了一個頁面,其中有一個登錄表單和一個簡單的主頁。 驗證我只做客戶端驗證。codeigniter中的模型

視圖的login.php: -

<form name="login" id="login" action="<?php echo base_url() ?>login/success" onsubmit="return validatelogin()" method="post"> 

... HTML

<input type="text" id="username" name="username" /> 
    <input type="password" id="passwrd" name="passwrd"> 

JavaScript驗證在視圖頁面 「的login.php」,

    function validatelogin(){ 
        var x=document.forms["login"]["username"].value; 
        var y=document.forms["login"]["passwrd"].value; 
        if (x==null || x=="") 
        { 
         alert("First name must be filled out"); 
         return false; 
        } 
        if (y==null || y=="") 
        { 
         alert("Password field must be filled out"); 
         return false; 
        } 
        if(x!="monisha" && y!="monisha"){ 
         alert("Username and Password incorrect"); 
         return false; 
        } 
        return true; 
       } 

控制器 - 登錄.php: -

 class Login extends CI_Controller { 
     function __construct() { 
      parent::__construct(); 
      $this->load->helper('url'); 
      $this->load->library('session'); 
     } 
     function index(){ 
      $this->load->view('login'); 
     } 
     function success() { 
     $data = array('username' => "monisha"); 
      $this->session->set_userdata($data); 
      redirect ('home'); 
     } 

    } 

我創建了「login」表,它具有用戶名和密碼字段。

我需要使用數據庫和數據庫查詢來驗證它。任何人都可以幫助我完成控制器文件和視圖頁面所做的所有更改,以完成此操作。

回答

1

學會form validationCI第一! http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html
你需要相應地改變它。
在控制器:

$this->load->helper(array('form')); #no need to do this if already loaded 
$this->load->library('form_validation'); 

$this->form_validation->set_rules('username', 'Username', 'required||is_unique[table_name.column_name]'); 
$this->form_validation->set_rules('passwrd', 'Password', 'required'); 
if ($this->form_validation->run() == FALSE) 
{ 
    $this->load->view('view_name'); 
} 
else 
{ 
    redirect('controller/function', 'refresh'); 
} 

鑑於頁:

<?php echo validation_errors(); ?> 
+0

謝謝Nil'z的那種反應!我會試試這個。 – Monisha