Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Codeigniter中设置管理面板_Php_Codeigniter_Admin - Fatal编程技术网

Php 在Codeigniter中设置管理面板

Php 在Codeigniter中设置管理面板,php,codeigniter,admin,Php,Codeigniter,Admin,在我的项目中,我试图为管理员创建一个部分。接下来我尝试了第二种方法。根据它,我的文件夹结构更改为类似这样 project cache config controllers -admin index.php -blog.php system views -admin index.php blog.php ................... 我在controllers

在我的项目中,我试图为管理员创建一个部分。接下来我尝试了第二种方法。根据它,我的文件夹结构更改为类似这样

project
   cache
   config
   controllers
       -admin
          index.php
       -blog.php
   system
   views
       -admin
          index.php
        blog.php
...................
我在controllers/admin中创建了一个controller index.php,代码如下:

class Index extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view(index/index);
    }
}
在views/admin中,我创建了一个index.php文件并回显了一些字符串,在routes.php中我添加了这一行

$route['admin'] = 'admin/index';
但是当我使用url运行管理面板时,
http://localhost/workspace/project/admin/
,我收到404错误

The requested URL /workspace/project/admin/ was not found on this server.
我做错了什么?我还需要做其他设置吗

有人能帮我修一下吗?我是Codeigniter的新手


提前感谢。

让我们更改您的文件结构(您需要在admin.php控制器中创建一个索引函数)

同时将控制器名称更改为admin和view load

class Index extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('admin/index');
    }
}
然后改变你的路线

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

我更喜欢你有两个codeigniter项目,一个是管理员项目,一个是博客项目。因为会有像图像、css和js这样的常见文件夹,它们会发生冲突

还将存在诸如通用控制器名称之类的可销售性问题,因为codeigniter中的命名空间仍然是一个漫长的过程

编辑- 在routes.php中将routes改为admin

$route['admin/(:any)'] = "admin/$1";
此外,将其放置在到默认控制器的路由上方-

 $route['default_controller'] = "welcome";
    $route['404_override'] = ''; 
我希望它能起作用! ////////////////////////////////////////////

我猜,你的结构有问题,如果我没有错的话,就是这样-

project
   cache
   config
   controllers
       -admin   // your admin folder
          index.php   // your default controller
       -blog.php
   system
   views
       -admin
          index.php
        blog.php
将控制器名称从index更改为admin.php 因此,路线应该是-

$route['admin'] = 'admin/admin/index'; // its like folder/controller/function
试试这个

class Index extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('admin/index');
    }
}

尝试$route['admin']='admin/index/index';尝试从浏览器访问此url是否正常?另外,我在您的结构中找不到applications dir,我尝试运行localhost/workspace/project/index.php/admin,现在404错误消失了,但页面中显示的其他错误为“使用未定义的常量admin-假定为'admin'”和“使用未定义的常量index-假定为'index'”在文件admin/index.php第11ok行中,现在检查我的更新答案在controller dir中创建一个名为admin的控制器,并在中定义方法indexit@Rakesh..before更新它我希望在管理部分的URL像,管理/语言一样..这样我就可以在管理部分内部创建不同的控制器。我怎样才能用更新的方法识别呢?我试过这个方法。但还没有开始工作。管理员控制器索引()中的重定向是否有问题?我想没有,好吧,让我们再试一次,请稍候,我正在编辑我的asnwer@Sunny..我尝试了url localhost/workspace/project/index.php/admin,但404错误消失了。但是我在$this->load->view(admin/index)行中遇到错误;在controller@jenzI’对不起!我以为你正在重定向到控制器。@sunny..我成功了,错误是我没有在$this->load->view('admin/index')中加上单引号;你能试试这个url吗:如果它有效,那么请检查你的root.htaccess文件。你提供了错误的视图路径,并给它们加了单引号。在这个例子中,单引号没有什么区别。
class Index extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('admin/index');
    }
}