2013-07-22 79 views
0

我不知道有人能幫助我嗎?我使用CodeIgniter來創建一個小登錄屏幕。但是,每次我使用CodeIgniter窗體幫助函數調用函數來驗證細節時。 404錯誤一直顯示CodeIgniter找不到該URL。我對 '查看' 文件的代碼如下所示:CodeIgniter URL不能正常工作

<!doctype html> 
<html> 
<head> 
    <title>CodeIgniter Prototype</title> 

    <!-- CSS/LESS Code Links --> 
    <link rel = "stylesheet" href = "<?php echo base_url();?>css/style.css" type = "text/css"/> 
</head> 

<body> 
    <div class = "login_wrapper"> 
     <h1>ONESG OneInvoice Exporter</h1> 
     <?php 
      echo form_open('login/check_login'); 
      echo form_input('username', '', 'placeholder = "Enter Username"'); 
      echo form_password('password', '', 'placeholder = "Enter Password"'); 
      echo form_submit('submit', 'Login'); 
      echo form_close(); 
     ?> 
    </div> 
</body> 
</html> 

我的控制器代碼如下所示:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Login extends CI_Controller { 

    public function index() { 
     $this->load->view('login_form'); 
    } 

    public function check_login() { 
     $this->load->model('login_model'); 
     $query = $this->login_model->validate(); 

     if ($query) { 
      $data = array (
       'username' => $this->input->post('username'), 
       'is_logged_in' => true 
      ); 

      $this->sessions->set_userdata($data); 
      redirect('site/members_area'); 
     } 

     else { 
      $this->index(); 
     } 
    } 

} 
+0

請發表您的控制器代碼 – DeiForm

+0

<?PHP的,如果(!定義( '基本路徑'))退出(「不直接腳本訪問允許'); 類登錄延伸是CI_Controller { \t公共功能指數(){ \t \t $這 - >負載>視圖( 'login_form'); \t} \t公共函數check_login(){ \t \t $這 - >負載>模型( 'login_model'); \t \t $ query = $ this-> login_model-> validate(); \t \t如果($查詢){ \t \t \t $數據=陣列( \t \t \t \t '用戶名'=> $這個 - >輸入 - >交的( '用戶名'), \t \t \t \t「is_logged_in '=> true \t \t \t); \t \t \t $ this-> sessions-> set_userdata($ data); \t \t \t redirect('site/members_area'); \t \t} \t \t否則{ \t \t \t $這 - >指數(); \t \t} \t} } – user2482793

+0

請問您可以編輯您的問題,並把它與格式化。 :) – DeiForm

回答

0

在.htaccess中添加此

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

然後在配置routes.php文件加

$route["members_area/(.*)"] = 'site/members_area/$1'; 
0

檢查你的文件夾str確定您是否擁有.htaccess文件。 如果不添加一個名爲的.htaccess 文件名,並添加以下代碼到文件

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

enter image description here