404页未找到codigniter 3.1.6

时间:2018-01-12 11:07:02

标签: codeigniter

我是新手并且学习codeigniter我试图从网上下载一个简单的CRUD练习,但我仍然坚持路由。我尽力从先前的帖子和答案中查找解决方案,但失败了。 这是我的Stud_controller.php

 <?php 
 class Stud_controller extends CI_Controller {

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

  public function index() { 
     $query = $this->db->get("stud"); 
     $data['records'] = $query->result(); 

     $this->load->helper('url'); 
     $this->load->view('Stud_view',$data); 
  } 

  public function add_student_view() { 
     $this->load->helper('form'); 
     $this->load->view('Stud_add'); 
  } 

  public function add_student() { 
     $this->load->model('Stud_Model');

     $data = array( 
        'roll_no' => $this->input->post('roll_no'), 
        'name' => $this->input->post('name') 
     ); 

     $this->Stud_Model->insert($data); 

     $query = $this->db->get("stud"); 
     $data['records'] = $query->result(); 
     $this->load->view('Stud_view',$data); 
  } 

这是我的Stud_model.php

<?php 
class Stud_Model extends CI_Model {

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

  public function insert($data) { 
     if ($this->db->insert("stud", $data)) { 
        return true; 
     } 
  } 

  public function delete($roll_no) { 
     if ($this->db->delete("stud", "roll_no = ".$roll_no)) { 
        return true; 
     } 
  } 

  public function update($data,$old_roll_no) { 
     $this->db->set($data); 
     $this->db->where("roll_no", $old_roll_no); 
     $this->db->update("stud", $data); 
  } 
} 
?> 

这是我的route.php

 $route['default_controller'] = 'welcome';
 $route['stud'] = "Stud_controller"; 
 $route['stud/add'] = 'Stud_controller/add_student'; 
 $route['stud/add_view'] = 'Stud_controller/add_student_view'; 
 $route['stud/edit/(\d+)'] = 'Stud_controller/update_student_view/$1'; 
 $route['stud/delete/(\d+)'] = 'Stud_controller/delete_student/$1';
 $route['404_override'] = '';
 $route['translate_uri_dashes'] = FALSE;

我的config.php

 $config['uri_protocol']    = 'REQUEST_URI';

我的.htaccess文件是

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

我的网址= http://localhost/testing/index.php/stud 但错误是找不到404页面 请帮助我谢谢

1 个答案:

答案 0 :(得分:0)

问题是控制器的名称。重命名控制器文件Stud.php,然后将类声明的第一行更改为...

class Stud extends CI_Controller {

除了在config.php中你应该使用

,所有其他代码都可以保留,如问题所示
$config['index_page'] = '';

一方面注意:该模型不需要__construct()方法。

只有当子类需要在parent::__construct()方法中为自己设置某些内容时,才需要调用__construct()。也许PHP documentation更好地解释了它。