找不到您请求的页面 - CodeIgniter

时间:2012-08-22 15:04:25

标签: php codeigniter

我正在使用CI框架开发基本应用程序。

我有以下错误:

  

未找到404页面

     

找不到您请求的页面。

以下是我的代码文件。

我的控制器代码:

class Contact extends CI_Controller{

  function _Contact(){
    parent::CI_Controller();
  }

  /*function main(){
    $this->load->model('contact_model');
    $data = $this->books_model->general();

    $this->load->view('books_main',$data);
  }*/

  function input(){

    $this->load->helper('form');  
    $this->load->helper('html');      
    $this->load->model('contact_model');

    if($this->input->post('mysubmit')==true){
        $this->contact_model->entry_insert();
    }   

    $data = $this->contact_model->general();

    $this->load->view('contact_input',$data);   
  }

}

然后在Model I中有以下代码:

class contact_model extends CI_Model{

  function _contact_model(){
    parent::Model();
    $this->load->helper('url');               
  }

  function entry_insert(){
    $this->load->database();
    $data = array(
              'name'=>$this->input->post('title'),
          'address'=>$this->input->post('author'),

              'year'=>$this->input->post('year'),

            );
    $this->db->insert('contact',$data);
  }

  function general(){

    $data['base']       = $this->config->item('base_url');

    $data['name']      = 'Name';
    $data['address']     = 'Address';

    $data['year']       = 'Year';
    $data['years']      = array('2007'=>'2007',
                                '2008'=>'2008',
                                '2009'=>'2009'); 

    $data['forminput']  = 'Student Registration';

    $data['fname']     = array('name'=>'name',
                                'size'=>30
                          );
    $data['faddress']    = array('name'=>'address',
                                'size'=>30
                          );

    return $data;   
  }
}

最后,我的观点:

<html>
<head>

</head>
<body>
<div id="header">
<?php $this->load->view('contact_header'); ?>
</div>

<?php echo heading($forminput,3) ?>
<?php echo form_open('books/input'); ?>
<?php echo $name       .' : '.
        form_input($fname).br(); ?>
<?php echo $address      .' : '.
        form_input($faddress).br(); ?>

<?php echo $year        .' : '.
        form_dropdown('year',$years).br(); ?>

<?php echo form_submit('mysubmit','Submit!');  ?>
<?php echo form_close(); ?>

<div id="footer">
<?php $this->load->view('contact_footer'); ?>
</div>

</body>
</html>

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

在联系人控制器中删除它:

function _Contact(){
  parent::CI_Controller();
}

替换为:

function __construct(){
  parent::__construct();
}

在您的联系人模型中删除此内容:

function _contact_model(){
  parent::Model();
  $this->load->helper('url');               
}

替换为:

function __construct(){
   parent::__construct();
   $this->load->helper('url');  
}

答案 1 :(得分:0)

  

嗨,

     

我经常遇到类似的问题。通常我会检查以下内容:

     
      
  1. 如果设置了正确的siteroot,请检查Config文件。我经常在那里有服务器服务器。
  2.   
  3. 检查.htaccess是否将RewriteBase设置为正确的目录。
  4.   
  5. 确保其读取正确的值echo base_url(); (如果这通常是.htaccess重写基础)。
  6.         

    希望它有所帮助。

         

    r n8m   [在此输入链接描述] [1]

         

    [1]:http://ellislab.com/forums/viewthread/105880/

HMC

答案 2 :(得分:0)

如果您在Windows上开发了应用程序,则可能没有将控制器和模型名称的第一个字符设置为大写字符。

喜欢/controllers/home.php到/controllers/Home.php

在Linux上,文件名区分大小写。

注意: - 这是可能出现问题的解决方案。可能存在配置错误,服务器和路径变量的问题。

可能重复:CodeIgniter "The page you requested was not found." error?