使用codeigniter查看表单验证结果

时间:2016-06-01 07:33:28

标签: php forms codeigniter validation url

这是表单的网址。

  

http://localhost/cig/index.php/Resetpassword?temporarycode=CLK6xW7j0I1psnk243wF&email=coddy@zack.com

这就是我验证它的方法。但问题是我无法在页面上显示验证错误

$this->form_validation->set_rules('password', 'Password', 'required');
            $this->form_validation->set_rules('confirmpassword', 'Password Confirmation', 'required|matches[password]');

            if ($this->form_validation->run() == FALSE) {

              redirect($_SERVER['HTTP_REFERER']);
          }

2 个答案:

答案 0 :(得分:2)

好吧,我遇到了一些可以改进的事情。

对于初学者,为什么在字段无效时将用户重定向到某个地方?为什么不使用:

$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->set_rules('confirmpassword', 'Password Confirmation', 'required|matches[password]');
if ($this->form_validation->run()) {
    redirect(base_url('emailSend'); // or wherever you want the visitor to be send to
} 
$this->load->view('register'); // or however your view file is called

这样,如果您的视图文件中包含规则<?= validation_errors() ?><?= ?><?php echo ?>的简短php代码和validation_erros(),则显示错误没有问题应该包含验证错误,如果有的话。

答案 1 :(得分:1)

您可以尝试CI闪存数据,

$this->session->set_flashdata('errors', validation_errors());

redirect($_SERVER['HTTP_REFERER']);

它保留下一个服务器请求的数据。