Php Codeigniter未验证登录表单
我已经非常擅长使用codeigniter,所以我对我的代码非常有信心。但是,我的表单验证不起作用。它从不通过验证,也从不显示任何错误。我已经抛出了Php Codeigniter未验证登录表单,php,codeigniter,Php,Codeigniter,我已经非常擅长使用codeigniter,所以我对我的代码非常有信心。但是,我的表单验证不起作用。它从不通过验证,也从不显示任何错误。我已经抛出了CI实例,可以看到我的验证设置正确,但运气不好 这是我的控制器中的函数 $this->load->helper(array('form', 'url', 'html')); $this->load->library('form_validation'); $data = array(); $this->form_vali
CI
实例,可以看到我的验证设置正确,但运气不好
这是我的控制器中的函数
$this->load->helper(array('form', 'url', 'html'));
$this->load->library('form_validation');
$data = array();
$this->form_validation->set_rules('email', 'Email', 'trim|required');
$this->form_validation->set_rules('password', 'Password', 'trim|required');
$validation_errors = validation_errors();
if( $validation_errors !== FALSE ):
$data["validation_errors"] = $validation_errors;
endif;
if ($this->form_validation->run() == FALSE):
$this->load->view('common/head-auth', $data);
$this->load->view('pages/page-auth-login', $data);
$this->load->view('common/foot-auth');
else:
$this->load->model("site/users_model");
$this->users_model->login();
endif;
这是我的视图文件
<main class="auth">
<header id="auth-header" class="auth-header"></header>
<?php
$atts = array("class" => 'auth-form');
echo form_open('auth/login', $atts);
?>
<div class="form-group">
<img src="<?php echo base_url( "assets/images/rplogo.png" ); ?>" alt="" width="100%">
</div>
<?php
if( isset( $validation_errors ) ):
$error_messages = "<div class=\"alert alert-danger alert-dismissible fade show\">";
$error_messages .= "<button type=\"button\" class=\"close\" data-dismiss=\"alert\">×</button>";
$error_messages .= $validation_errors;
$error_messages .= "</div>";
echo $error_messages;
endif;
?>
<div class="form-group">
<div class="form-label-group">
<input type="text" id="inputEmail" class="form-control" placeholder="Email Address" name="email" value="<?php echo set_value('email'); ?>">
<label for="inputUser">Email Address</label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="password" id="inputPassword" class="form-control" placeholder="Password" name="password">
<label for="inputPassword">Password</label>
</div>
</div>
<div class="form-group">
<button class="btn btn-lg btn-primary btn-block" type="submit">Log In</button>
</div>
<div class="text-center pt-3">
<a href="auth-recovery-password.html" class="link">Forgot Password?</a>
</div>
</form>
<footer class="auth-footer"> © 2019 All Rights Reserved. </footer>
“alt=”“width=“100%”
这与我的问题有什么关系?您在表单验证库实际运行验证之前收到验证错误,因此验证错误应为空。表单验证方法run
验证用户的输入值,并在出现任何错误时填充错误数组。您是对的。T在我看来,这也是一个问题,我没有回显通过的错误消息。双重否定。谢谢你的帮助
if ($this->form_validation->run() == FALSE):
$validation_errors = validation_errors();
if( $validation_errors !== FALSE ):
$data["validation_errors"] = $validation_errors;
endif;
$this->load->view('common/head-auth', $data);
$this->load->view('pages/page-auth-login', $data);
$this->load->view('common/foot-auth');
else:
$this->load->model("site/users_model");
$this->users_model->login();
endif;