我正在尝试使用Codeigniter创建一个Web应用程序。但我无法浏览我的网页。示例:我希望页面employee_view中的按钮导航到employeecontroller / addEmployee。我在网上/ stackoverflow搜索了几个小时。尝试了一切,有5个各种错误信息。我厌倦了搜索,希望有人可以帮助我:)。
这是我工作区和代码的图片:
我的路线。 php:
$route['default_controller'] = 'EmployeeController';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['EmployeeController/addEmployee'] = 'EmployeeController/addEmployee';
$route['EmployeeController/createEmployee'] = 'EmployeeController/createEmployee';
$route['EmployeeController'] = 'application/controllers/EmployeeController';
在config.php中的我得到了:
$config['base_url'] = 'http://localhost:8888/BoMaTec_afstudeerproject/CodeIgniter-3.0.1/';
$config['index_page'] = '';
我的ht.acces文件: [IMG] http://i58.tinypic.com/euq2vk.png[/IMG]
答案 0 :(得分:5)
确保所有关闭控制器类和文件名的第一个字母为大写。
答案 1 :(得分:2)
我假设你使用codeigniter 3。
在codeigniter 3上,控制器类和文件名必须将第一个字母设为大写,然后是其余小写。
如果控制器名称是EmployeeController,我会更改名称
文件名: Employee_controller.php
class Employee_controller extends CI_Controller {
}
然后在路线上:http://www.codeigniter.com/user_guide/general/routing.html
注意:默认控制器必须在application/controllers/Employee_controller.php
中,default_controller不能与其他所有路径都可以使用的子文件夹一起使用。
$route['default_controller'] = 'employee_controller';
$route['employee/addEmployee'] 'employee_controller/addEmployee';
$route['employee/createEmployee'] = 'employee_controller/createEmployee';
$route['employee'] = 'employee_controller';
网址示例
http://localhost:8888/BoMaTec_afstudeerproject/CodeIgniter-3.0.1/employee
或者
http://localhost:8888/BoMaTec_afstudeerproject/CodeIgniter-3.0.1/index.php/employee
在自动加载中,最常用的助手是
$autoload['helper'] = array('url', 'form', 'text');
答案 2 :(得分:1)
在config.php
$config['base_url'] = '';
$config['index_page'] = '';
在控制器中
文件名 - employee.php
里面的
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Employee extends CI_Controller {
public function index()
{
# code...
}
public function addEmployee()
{
# code...
}
}
并在autoload.php
$autoload['helper'] = array('url');
并且<form>
action
应该是
<form action="<?php echo base_url()?>employee/addEmployee" method="post">
</form>
这将很好
编辑01
将其放在.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
答案 3 :(得分:0)
控制器名称应该与Employeecontroller类似,因为类名不能包含多于1个大写字母。
在您的路线中应该是:
$route['default_controller'] = 'employeecontroller';
答案 4 :(得分:0)
您也可以写:-
<form method = "post" action = "<?php echo site_url("EmployeeController/addEmployee");?
>">
以这种方式:
<form method = "post" action = "<?php echo site_url();?>/Employee_controller/addEmployee">
并将名称从EmployeeController更改为Employee_controller。
这对我有帮助。