php - Codeigniter 不验证登录表单

标签 php codeigniter

我已经非常熟悉 codeigniter,所以我对我的代码非常有信心。但是,我的表单验证不起作用。它从未通过验证,也从未显示任何错误。我已经转储了 CI 实例,并且可以看到我的验证设置正确,但运气不佳。

这是我的 Controller 中的功能

$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;

这是我的 View 文件

<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>

是的,我已经浏览了有关该主题的所有其他帖子,但没有找到解决方案。

提前致谢

最佳答案

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;

关于php - Codeigniter 不验证登录表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55070748/

相关文章:

php - Codeigniter:函数中的位置

php - Controller 内查询的 Codeigniter 更新

php - Codeigniter:分组依据并从连接表中获取最新记录

php - 如何描述 codeigniter 中的通知、错误等全局消息?

php - 我应该使用 php mysql 或 json 文件来检索数据?

php - 如何使用查询生成器 laravel 将多条记录插入 mysql

php - 如何从 Kint 模拟/捕获不寻常的 PHP 操作数

javascript - Codeigniter:由于tinymce文本区域而没有进行验证

javascript - PHP 面向对象的类,具有日期时间到月份和日期

php - TCPDF - 多单元格高度