我在CodeIgniter上遇到了一个问题。我已经在互联网上检查了所有可能的解决方案,似乎对我的情况没有任何帮助。我不是一个专业人士,这是我第一次使用CodeIgniter,所以不要对我苛刻。
routes.php:
$route['default_controller'] = "page";
$route['404_override'] = '';
$route['(:num)'] = "page/index/$1";
page.php:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Page extends CI_Controller {
public function index($id=null) {
$this->load->model('Image','',TRUE);
$this->load->model('Banner','',TRUE);
$image = $this->Image->getImageById($id);
if (empty($image)) {
show_404();
}
//db table `banner` always have three rows
$banners=$this->Banner->getBanners();
$data=array();
$data['image']=$image;
$data['banner']=$banners;
$this->load->view('page_index', $data);
}
}
7条答案
按热度按时间gstyhher1#
我读过你的问题。你在保存控制器时犯了错误。
它应该以大写形式保存,例如
Page.php
,但您已保存为page.php
我想这会解决的!
gt0wga4j2#
构造父函数了吗?公共函数_construct(){ Parent::_construct();}
am46iovg3#
如果您在Windows上开发应用程序,您可能没有将Controller和Model名称的第一个字符设置为
capital character
。例如
/controllers/home.php
到/controllers/Home.php
在Linux上,文件名区分大小写。
注意:-这是可能问题的解决方案。可能存在配置、服务器和路径变量错误的问题。
qnyhuwrf4#
这听起来不像是Codeigniter错误。可能是您的Web服务器配置问题。您的机器上是否安装并配置了Web服务器和php服务器?是否配置了.htaccess文件来替换“index.php”?
bihw5rsg5#
谢谢大家,问题是我在page.php中声明,如果数据库中没有图像,它将显示404页面:
我已经添加了两个图像到数据库,现在它的工作。
50pmv0ei6#
我对codegliiter也是相当陌生的。这是我一开始会做的:
1.自动加载数据库并配置database.php文件
1.自动加载帮助文件'url','file'
1.配置您的基本url“://yourhost/yourworkingfolder”(如果您正在本地主机上工作)
1.你需要路由你的页面。转到route.php,并给予你的默认控制器页面的名称,如果它看起来比你的好,以进一步与其他任务。
请纠正我,如果我错了。我是一个新手codeigniter。Thankx
vdzxcuhz7#
如果使用Unix服务器,控制器将大写首字母