2

ビューにこのエラーがあり、どこに問題があるのか​​ わかりません

PHP エラーが発生しました

重大度: 通知

メッセージ: 未定義の変数: エラー

ファイル名: views/register_user.php

ライン番号: 5

見る:

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

ここでコントローラー

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 を使い始めましたが、問題が見つかりません...

4

5 に答える 5

2

表示するために投稿しませんでした$data。次のように使用する必要があります。

$this->load->view('register_user', $data);
于 2013-08-04T20:29:56.243 に答える
1

これを変える:

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

更新: しかし、コードには他にも多くの問題があります。クリアする必要があります。例: エラーを読み込んでいません。そして、検証なしでユーザーを作成できます。

于 2013-08-04T11:26:44.123 に答える
0

またはこれを試すことができます:

<?php if(isset($errors) && ('' != $errors) && (null != $errors)): ?>
<div style="background:red,color:white;">
<?php echo $errors; ?>
</div>
<?php endif; ?>
于 2014-07-11T03:00:56.977 に答える
0

これを試してください

<?php if(isset($errors) && $errors!=''){ ?>
<div style="background:red,color:white;">
<?=$errors?>
</div>
<? } ?>
于 2013-08-04T12:05:33.863 に答える