我的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);
}
}
我读过你的问题。您在保存控制器时犯了错误。
它应该以资本形式保存,即Page.php
,但您已保存为page.php
我想这会成功的!
您构造了父级吗?公共函数_construct(){父级::_construct();}
如果您在Windows上开发了应用程序,则可能没有将控制器和模型名称的第一个字符设置为capital character
。
如/controllers/home.php
至/controllers/Home.php
在Linux上,文件名区分大小写。
注意:-这是一个可能的问题的解决方案。可能存在错误配置、服务器和路径变量的问题。
这听起来不像是Codeigner错误。它可能是您的Web服务器配置。您的机器上是否设置并配置了Web服务器和php服务器?您是否配置了.htaccess文件来替换"index.php"?
谢谢大家,问题是我在page.php中说过,如果数据库中没有图像,它将显示404页面:
if (empty($image)) {
show_404();
}
我已经在数据库中添加了两个图像,现在它可以工作了。
我对codeigniter也很陌生。这就是我一开始会做的:
- 自动加载数据库并配置database.php文件
- 自动加载帮助程序文件"url","file"
- 配置你的基本url"://yourhost/yourworkingfolder"(如果你是在本地主机上工作)
- 您需要传送您的页面。转到route.php,并给出您的默认控制器页面名称,如果它看起来比您的r有效很好,可以进一步完成额外的任务
如果我错了,请纠正我。我是代码点火器的新手。Thankx
如果您使用Unix服务器