我没有从codeigniter中的表单获取post值

时间:2017-09-21 18:52:21

标签: php codeigniter

我在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重新加载页面时(在提交表单之后),返回一个空数组。它不返回表单提交的值。为什么会这样?我在做错的地方。我已经交叉检查了表单目标控制器y检查元素,我在哪里犯错误?

2 个答案:

答案 0 :(得分:0)

使用CI表单Html表单

更改此

<?php echo form_submit(['name'=>'submit', 'value'=>'Login', 'class'=>'btn  btn-azure']); ?>

到这个

<input type="submit" name="submit" value="Login" class= "btn  btn-azure">
  

确保您的项目在网址中没有index.php。 (action="<?php echo site_url()?>index.php/login/admin_login

答案 1 :(得分:0)

我正在推测提交按钮代码,所以请使用它来检查它是否真的设置了必填字段,只是为了检查。

<?php
class Login extends CI_Controller {

  public function admin_login(){
    if(isset($_POST['submit'])){
        print_r($_POST); die();
    }else{
        echo 'use input tags!';
    }
  }
}
?>