无法在codeigniter中调用函数

时间:2018-04-24 08:50:50

标签: php codeigniter codeigniter-3

我是CodeIgniter的新手,现在我正在创建一个网站。管理员可以在登录后查看所有记录,但不幸的是,目标URL显示404 Page Not Found。我正在使用temple(页眉n页脚)作为菜单。 这是我的header.php

<div class="collapse navbar-collapse" id="navbarColor01">
      <ul class="navbar-nav mr-auto" >
<?php if(!$this->session->userdata('logged_in')) : ?>
        <li class="nav-item"><a class="nav-link" href="<?php echo base_url(); ?>users/login">Login</a></li>
        <li class="nav-item"><a class="nav-link" href="<?php echo base_url(); ?>users/register">Register</a></li>
      <?php endif; ?>
      <?php if($this->session->userdata('logged_in')) : ?>
      <li class="nav-item"><a class="nav-link" href="<?php echo base_url(); ?>posts">List Item</a></li>
        <li class="nav-item"><a class="nav-link" href="<?php echo base_url(); ?>posts/create">Create Post</a></li>
        <li class="nav-item"><a class="nav-link" href="<?php echo base_url(); ?>users/logout">Logout</a></li>
        <li class="nav-item"><a class="nav-link" href="<?php echo base_url(); ?>admin">Admin</a></li>
      <?php endif; ?>
      </ul>
    </div>

当我点击管理菜单时,它应该转到管理员控制器并调用索引函数进行cofirmation我把echo和die但它显示404错误。这是我的管理员控制器

<?php
class Admin extends CI_Controller{
    public function index(){    
        echo "Reach here"; die;
        if (!$this->session->userdata('logged_in')) {
            redirect('users/login');
        }
?>

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

点击您的管理员链接:

由于Admin不是您的默认controller而您没有为管理员设置路线

像这样放置admin链接

<li class="nav-item">
  <a class="nav-link" href="<?php echo base_url('admin/index'); ?>">Admin</a> 
</li>

但是如果你想这样做:

<li class="nav-item">
      <a class="nav-link" href="<?php echo base_url('admin'); ?>">Admin</a> 
</li>

然后像这样设置route.php

$route['admin'] = 'admin/index';

和控制器:

<?php
class Admin extends CI_Controller{
    public function index(){    
        echo "Reach here"; die;
        if (!$this->session->userdata('logged_in')) {
            redirect('users/login');
        }
?>

答案 1 :(得分:0)

请使用父母构造,然后才能按照自己的方式行事。

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

            $this->load->model(array('restaurants_m', 'categories_m', 'cities_m', 'customers_m', 'states_m', 'orders_m', 'delivery_boys_m'));

            $this->load->library(array('email'));
            $this->load->helper('url');
    }