我今天开始使用CodeIgniter,我正在遵循phpacademy的初学者教程。现在我遇到了一个奇怪的问题,我得到了下面非常简单的控制器:
<?php if ( ! defined('BASEPATH')) exit("No direct script access allowed");
class Site extends CI_Controller {
public function index()
{
}
public function home()
{
$this->load->view("view_home", $data);
}
function about()
{
$data['title'] = "About!";
$this->load->view("view_about", $data);
}
function test()
{
echo "test";
}
}
它总是很好地加载索引函数。当我测试它时,它会回显我想让它回显的任何东西。但当我调用其他函数时,什么都没有发生。
我还没有设置我的. htacces,但是当我访问以下地址时:php/site/site/php/site/php/site/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/site/php/php/site/php/site/php/site/php/site/php/php/site/php/php/site/php/
它不加载home函数。其他函数("about"和"test")也是如此;
当我从index()函数中调用其中一个函数("home"、"about"和"test")时,它确实按照应该的方式调用了它:
class Site extends CI_Controller {
public function index()
{
$this->home();
}
public function home()
{
$this->load->view("view_home", $data);
}
"我不知道这里到底出了什么问题,希望有人能给我指引方向!"
我的路线:
<?php if ( ! defined('BASEPATH')) exit("No direct script access allowed");
$route['default_controller'] = "site";
$route['404_override'] = '';
2条答案
按热度按时间qzlgjiam1#
如果有人遇到这个问题,因为上面没有解决方案工作,好吧,你可以尝试这些步骤,我得到的东西工作(本地与xampp):
1.将
config.php
中的base_url
更改为http://localhost/application-name/
1.清空
index_page
(默认值应为index.php
)1.转到应用程序的根文件夹并检查
index.php
是否在那里1.在其中创建
.htaccess
文件并写入以下内容:2w3kk1z52#
我会确保控制器类有一个构造函数来加载基本的Codeigniter基类。
在每个控制器类中,告诉你的类使用代码点火器系统。如果它不存在,它将不知道如何加载这些函数。
为了清楚起见,确保它通过url/site/about等调用其他方法...还有,你的开发服务器上显示了php错误吗?