php - undefined variable Codeigniter

标签 php codeigniter

我的 View 中出现此错误,但我找不到问题出在哪里

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: errors

Filename: views/register_user.php

Line Number: 5

查看:

<?php if($errors){ ?>
<div style="background:red,color:white;">
<?=$errors?>
</div>
<? } ?>

这里是 Controller

function register(){
    if($_POST){
        $config=array(
            array(
                'field'=>'username',
                'label'=>'Username',
                'rules'=>'trim|required|min_length[3]|is_unique[users.username]'
                ),
            array(
                'field'=>'password',
                'label'=>'Password',
                'rules'=>'trim|required|min_length[5]|max_length[15]'
                ),
            array(
                'field'=>'password2',
                'label'=>'Password Confirmed',
                'rules'=>'trim|required|min_length[5]|matches[password]'
                ),
            array(
                'field'=>'user_type',
                'label'=>'User Type',
                'rules'=>'required'
                ),
            array(
                'field'=>'email',
                'label'=>'Email',
                'rules'=>'trim|required|is_unique[users.email]|valid_email'
                )
            );
        $this->load->library('form_validation');
        $this->form_validation->set_rules($config);
        if($this->form_validation->run() == FALSE){
            $data['errors']=validation_errors();
        } else {
        $data=array(
            'username'=>$_POST['username'],
            'password'=>$_POST['password'],
            'user_type'=>$_POST['user_type']
            );
        $this->load->model('user');
        $userid=$this->user->create_user($data);
        $this->session->set_userdata('userID',$userid);
        $this->session->set_userdata('user_type',$_POST['user_type']);
        redirect(base_url().'posts');
    }
}
    $this->load->helper('form');
    $this->load->view('header');
    $this->load->view('register_user');
    $this->load->view('footer');
}

我开始使用 Codeigniter,但找不到问题...

最佳答案

问题是在某些情况下$errors变量未创建。使用if(isset($errors) && $errors))

实际上在 View 中您需要的是 <?php echo validation_errors(); ?> ,无需将其分配给变量

看看http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html有关如何显示错误的更多信息

关于php - undefined variable Codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18042383/

相关文章:

php - 在codeigniter中获取不同数据库的select查询结果

php - 按下后退按钮时强制重新加载/刷新

php - 共享托管网页上放置的网络钓鱼链接

php - 从存储在mysql中的路径显示图像

php - PDO 和 MariaDB

php - Json Array PHP Youtube Api v2无法从$ t接收字符串

php - 日期在 LIMIT 之间的 Codeigniter JOIN 查询不起作用

php - mySQL AND OR 查询返回的结果不一致

codeigniter - 在 Codeigniter 中创建一个 SEO 友好的 url

php - 显示使用 codeigniter 中的一对多关系存储的数据库中的图像