用户
 找回密码
 入住 CI 中国社区
搜索
楼主: developerm
收起左侧

[版本 3.x] 访问错误,但视图和控制器及方法都存在

[复制链接]
 楼主| 发表于 2016-1-22 17:32:09 | 显示全部楼层
本帖最后由 developerm 于 2016-1-22 17:37 编辑

现在是Admin控制下的访问,都不可访问。
是不是在控制器之间的跳转的设置问题?

发现一个现象,在welcome/login方法打开login视图后,这时候url显示都没有出现index.php,但在login视图登录验证转到User/login方法验证,验证通过时url变成http://www.xx.cn/index.php/Admin/index  ,此时会出现
An Error Was Encountered
Unable to load the requested file: Admin/index.php

此时应该是执行redirect('Admin/index');出现问题了


发表于 2016-1-22 17:34:06 | 显示全部楼层
developerm 发表于 2016-1-22 17:28
你是说我具体的网址吗?

index是我在login登录验证成功后要跳转的地方。这里会出现Unable to load the r ...

你的 index.php 有放入下列代碼嗎 ?

PHP复制代码
function __construct()
{
    parent::__construct();  
}
复制代码

 楼主| 发表于 2016-1-22 17:38:32 | 显示全部楼层
本帖最后由 developerm 于 2016-1-22 17:44 编辑
Closer 发表于 2016-1-22 17:34
你的 index.php 有放入下列代碼嗎 ?

你是说Admin控制器中吗?如果是,则有放这段代码的

你看是否是index方法有问题?


PHP复制代码
 
<?php
class Admin extends CI_Controller {
    public function __construct()
    {
        parent::__construct();
        $this->load->helper('url');
        $this->load->helper('url_helper');
  $this->load->library('session');//加载session类
    }
 
 public function index($page = 'index')
    {
  if ( ! file_exists(APPPATH.'/views/admin/'.$page.'.php'))
    {
        // Whoops, we don't have a page for that!
        show_404();
    }
    $data['title'] = ucfirst($page); // Capitalize the first letter
 if(empty($this->session->userdata('name')))
  {
   $this->load->view('templates/header');
   $this->load->view('welcome_message');
   $this->load->view('templates/footer');
  }
  else
  {
 $this->load->view('templates/header_admin',$data);
 $this->load->view('Admin/index');
 $this->load->view('templates/footer_admin');
  }
    }
 
复制代码


复制代码
 楼主| 发表于 2016-1-22 17:39:38 | 显示全部楼层
Closer 发表于 2016-1-22 17:34
你的 index.php 有放入下列代碼嗎 ?

在视图中对应的index.php中则没有
发表于 2016-1-22 17:53:38 | 显示全部楼层
developerm 发表于 2016-1-22 17:32
现在是Admin控制下的访问,都不可访问。
是不是在控制器之间的跳转的设置问题?

你的目錄結構是 ?
发表于 2016-1-22 18:06:00 | 显示全部楼层
報錯的時候
應該有跟你講第幾行吧

會不會是這段出問題阿 ?
APPPATH.'/views/admin/'.$page.'.php'
 楼主| 发表于 2016-1-22 18:20:00 | 显示全部楼层
Closer 发表于 2016-1-22 17:53
你的目錄結構是 ?

views下有
admin
templates
目录
admin下有index.php
index.php的头部和底部,分别存在templates目录下

在views目录下,有直接放置的php文件,用于响应welcome控制器方法对应的视图文件,如:
login.php

现在的流程是通过Welcome控制器做为入口进入首页,直接在welcome_message.php,点击登录,进入User控制器的login方法,找到views下的login.php,登录成功后想跳转到Admin控制器下的index方法对应的views下admin的目录下的index.php

 楼主| 发表于 2016-1-22 18:22:14 | 显示全部楼层
本帖最后由 developerm 于 2016-1-22 18:23 编辑
Closer 发表于 2016-1-22 18:06
報錯的時候
應該有跟你講第幾行吧

在哪可以看具体的报错日志?
我将这段注释掉了,还是出现一样的错误

直接跳转到了views下的error目录下的错误文件
 楼主| 发表于 2016-1-22 18:25:17 | 显示全部楼层
Closer 发表于 2016-1-22 18:06
報錯的時候
應該有跟你講第幾行吧

正常情况下,我应该可以直接访问Admin控制器下的index方法对应的views视图下的admin/index.php
发表于 2016-1-22 18:28:21 | 显示全部楼层
developerm 发表于 2016-1-22 18:25
正常情况下,我应该可以直接访问Admin控制器下的index方法对应的views视图下的admin/index.php ...

你本地運行正常嗎 ?
若正常,應該是大小寫問題

本版积分规则