2

我正在使用 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);   
  }
   
}

然后在模型中我有以下代码:

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>

谁能帮帮我吗?

4

3 回答 3

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');  
}
于 2012-08-22T15:22:59.320 回答
0

嘿,

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

  1. 如果设置了正确的站点根目录,请检查配置文件。我经常在那里有实时服务器的东西。
  2. 如果 RewriteBase 设置为正确的目录,请检查 .htaccess。
  3. 以确保其读取正确的值 echo base_url(); (如果这通常是 .htaccess 重写基础)。

希望能帮助到你。

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

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

hmc

于 2012-12-21T16:15:59.127 回答
0

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

像 /controllers/home.php 到 /controllers/Home.php

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

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

可能重复:CodeIgniter“找不到您请求的页面。” 错误?

于 2017-06-01T08:34:58.863 回答