【发布时间】:2017-09-21 18:52:21
【问题描述】:
我在codeigniter中有一个表格,如下:
<form action="<?php echo site_url()?>login/admin_login" method="post">
<?php //echo form_open('login/admin_login'); // This is also not working?>
<div class="form-group">
<i class="fa fa-user fa-2x" aria-hidden="true"></i>
<input type="email" name="email" class="form-control" placeholder="Email Address">
</div>
<div class="form-group">
<i class="fa fa-unlock-alt fa-2x" aria-hidden="true"></i>
<input type="password" name="password" class="form-control" placeholder="Password">
<div class="center">
<a href="#" class="pull-xs-right">
<small>Forgot?</small>
</a>
</div>
<div class="clearfix"></div>
</div>
<div class="center">
<?php echo form_submit(['name'=>'submit', 'value'=>'Login', 'class'=>'btn btn-azure']); ?>
</div>
</form>
而我的控制器是这样的:
<?php
class Login extends CI_Controller {
public function admin_login()
{
print_r($_POST); die();
}
}
?>
我已正确分配基本网址。如需更多信息,请联系$config['base_url'] = 'http://localhost/ims/codeigniter/';。当我提交表单时,url 更改为目标控制器,但它正在加载相同的表单。当我用 url 重新加载页面时(提交表单后),返回一个空数组。它不返回表单提交的值。为什么会这样?我在哪里做错了。我已经交叉检查了表单目标控制器和检查元素,我在哪里做错了?
【问题讨论】:
-
你不应该使用输入助手吗?我认为代码点火器至少破坏了 GET 超级全局。
-
这不应该是问题,在我看来。它在其他地方工作正常。我已经测试过了。
-
尝试使用
base_url()代替site_url()并使用exit;代替die() -
您是否从您的网址中删除了
index.php。如果没有将您的action更改为<?php echo site_url()?>index.php/login/admin_login
标签: php codeigniter