我是Codeigniter的新手,我正在尝试使用它来构建注册页面。当我在控制器中调用函数时,服务器返回“在此服务器上未找到请求的URL / Users / actionRegister”错误。
我更改了.htaccess文件,并在apache模块上启动了rewrite_mode。
<?php echo form_open('Users/actionRegister'); ?>
<div class="form-group">
<input type="text" name="name" class="form-control" id="name" placeholder="Name">
</div>
<div class="form-group">
<input type="text" name="username" class="form-control" id="username" placeholder="User Name">
</div>
<div class="form-group">
<input type="text" name="email" class="form-control" id="email" placeholder="Email">
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" id="password" placeholder="Password">
</div>
<div class="form-group">
<input type="password" name="confirm_password" class="form-control" id="confirm-password" placeholder="Confirm Password">
</div>
<div class="form-group pull-right">
<button type="submit" id="register" class="btn btn-primary">Register</button>
</div>
</div>
<?php echo form_close(); ?>
您能帮我解决此错误吗?
答案 0 :(得分:1)
在这种情况下,您可以检查是否在控制器上加载了帮助程序表单,这应该是这样的:
$this->load->helper('form');
在您编写代码<?php echo form_open('Users/actionRegister'); ?>
时,可以在route.php(Users/actionRegister
)上定义this file is located under application/config
,以便于访问功能。您可以这样做:
$route['register'] = 'Users/actionRegister';
为了调用已定义的函数,您现在可以在form_open函数中调用base_url().'register'
。
请详细了解Configuring base_url in CI
在此之前,您必须编辑.htaccess
文件才能识别CI中的路由。
像这样:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我们将看看您是否能解决这个问题。
答案 1 :(得分:0)
首先,您应参考CodeIgniter user_guide正确命名文件
创建一个控制器(application/controllers/Users.php
)并在其中添加一些代码:
<?php
Class Users extends CI_Controller(){
public function __construct(){
parent::__construct();
}
public function index(){
echo '<code>users/index/</code> is called';
}
public function actionRegister(){
if($_POST){
var_dump($_POST);
}else{
echo 'direct access to this function is not allowed';
}
}
}
然后像这样localhost/codeigniter/users/actionregister/