2013-06-02 53 views
0

笨 - 404在發送數據到控制器

<?php echo validation_errors(); ?> 
    <?php $attributes = array('class' => 'navbar-form pull-right'); 
     echo form_open('login/checkLogin', $attributes); ?> 
     <input class="span2" type="text" placeholder="Username" name="username"> 
     <input class="span2" type="password" placeholder="Password" name="password"> 
     <button type="submit" class="btn">Sign in</button> 
</form> 

Contorller

<?php 

class Login extends CI_Controller{ 

    public function index(){ 
     $this->load->view('templates/menu'); 
    } 
    public function checkLogin(){   
     $this->form_validation->set_rules('username', 'Username', 'required|callback_verifyUser'); 
     $this->form_validation->set_rules('password', 'Password', 'required|callback_verifyPassword'); 

     if($this->form_validation->run() == false){ 
      $this->load->view('pages/error'); 
     }else{ 

     } 
    } 
} 
?> 

模型

<?php 

class Login_model extends CI_Model{ 
    public function login($name, $pass){ 
     $this->db->select('name, pass'); 
     $this->db->from('members'); 
     $this->db->where('name', $name); 
     $this->db->where('pass', $pass); 

     $query = $this->db->get(); 

     if($query->num_rows() == 1){ 
      return true; 
     }else{ 
      return false; 
     } 
    } 
} 
?> 

個結構

應用

  • 控制器
    • 的login.php
  • 意見
    • 模板
      • menu.php

的.htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !f 
RewriteCond %{REQUEST_FILENAME} !d 
RewriteRule .* index.php/$0 [PT,L] 

我的表單位於menu.php,當我推提交退貨404 如果需要更多信息請諮詢我。

回答

0

這裏我的解決辦法:

routes.php文件

$route['templates/menu'] = 'login/checkLogin'; 

menu.php

echo form_open('templates/menu', $attributes); 
0

檢查的.htaccess & 的php.ini文件。看看你的mod_rewrite ..確保這些配置正確,並且你不是意外地在分機上。

也可以嘗試,而不是

if($this->form_validation->run() == false){ 
     $this->load->view('pages/error'); 
    } 

嘗試

if(!$this->form_validation->run()){ 
$this->load->view('pages/error'); 
} 
+0

我加了我。 htaccess位於項目的根目錄 –

+0

試試這個 < IfModule!mod_rewrite.c> ErrorDocument 404 /index.p hp DARIUS

+0

查看此產品 http://www.farinspace.com/codeigniter-htaccess-file/ – DARIUS

0

首先要確保你有mod_rewrite在一些視圖中使用phpinfo();啓用,然後使用此:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/$1 [L]