在Codeigniter中验证表单

时间:2015-12-17 13:51:35

标签: php codeigniter

我想在Codeigniter中验证我的表单。我见过很多教程,但没有得到我想要的东西。如果字段为空,那么我必须显示错误消息并且在 相同的页面,如果字段已填写,那么我想提交数据,并在成功提交后 register_view.php应该与User Successfully Registered的消息一起显示,但这里验证不是 工作

  

register_view.php

border-color
  

Register.php

!important

3 个答案:

答案 0 :(得分:0)

Look here

if ($this->form_validation->run() == FALSE)
{
    // YOU GET HERE WHEN THERE IS NO DATA SUBBMITTED OR WHEN YOU VALIDATION WAS INVALID
    $this->load->view('myform');
}
else
{
    // YOU GET HERE WHEN YOUR VALIDATION WAS VALID, SO YOU CAN SAVE DATA TO YOUR DATABASE AND SHOW A SUCCESSPAGE.
    $this->load->view('formsuccess');
}

您的代码似乎正在混淆,因此它不会像您期望的那样工作。

答案 1 :(得分:0)

如果您至少使用版本2+,则应重构代码。 尝试更改

function Register(){
    parent::Controller();
    $this->load->library('form_validation');
}

public function __construct(){
    parent::__construct();
    $this->load->library('form_validation');
}

答案 2 :(得分:0)

我有另一种方法可以做到这一点。它如下:

  • 在控制器中:

    if($this->form_validation->run() == FALSE){
    
    
        $data['msg'] = '<div class="alert alert-dismissable alert-danger"><button class="close" data-dismiss="alert" type="button">×</button>Some error</div>';
        $this->load->view('register', $data);
    
    
    }
    
  • 在视图中这样做:

    <?php if(isset($msg)){echo $msg ;} ?>
    

您可以使用$msg_username或其他任何错误消息。

希望这有用。