2011-08-19 106 views
0

我有問題訪問我的控制器。我無法訪問我的班級codigniter

這表明我:

您試圖訪問的地址 https://localhost/web/index.php/Login/validate_credentials,這是 當前不可用。請確保網址(URL)爲 正確拼寫並打斷,然後嘗試重新加載頁面。

這是我的控制器(login.php中):

function validate_credentials() 
     {  
      $this->load->model('register'); 
      $query = $this->register->validate(); 

      if($query) // if the user's credentials validated... 
      { 
       $data = array(
        'username' => $this->input->post('username'), 
        'is_logged_in' => true 
       ); 
       $this->session->set_userdata($data); 
       redirect('site/members_area'); 
      } 
      else // incorrect username or password 
      { 
       $this->index(); 
      } 

    } 

這是我的模型(register.php):

 <?php 
    class Register extends CI_Model{ 
     function validate(){ 
    $this->db->where('username', $this->input->post('username')); 
    $this->db->where('password', md5($this->input->post('password'))); 
    $query=$this->db->get('users'); 
    if($query->num_rows==1){ 
    return true; 
    } 
     } 

這是我的視圖(login_view.php):

  <div id="login_form"> 
     <h1>Login</h1> 
     <?php 
     echo form_open('Login/validate_credentials'); 
     echo form_input('username','Username'); 
     echo form_password('password','Password'); 
     echo form_submit('submit','Login'); 
     echo anchor('login/signup','create Account'); 

     ?> 
     </div> 
+0

笨是否支持URL中的下劃線? – hakre

+0

您確定**您使用的是HTTPS?嘗試'http:// localhost/web/index.php/Login/validate_credentials'。我懷疑它會是一個大寫字母L,所以試試:'http(s):// localhost/web/index.php/login/validate_credentials' – Matt

回答

0
echo form_open('Login/validate_credentials'); 

應該是

echo form_open('login/validate_credentials'); 

登錄是控制器的文件名,登錄名是類名