Undefined variable Codeigniter
我的视图上出现此错误,我找不到问题出在哪里
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: errors
Filename: views/register_user.php
Line Number: 5
视图:
1 2 3 4 5 | <?php if($errors){ ?> <?=$errors?> <? } ?> |
这里是控制器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 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,但我找不到问题...
您没有发布
1 | $this->load->view('register_user', $data); |
问题是在某些情况下未创建
实际上,在视图中您只需要
有关如何显示错误的更多信息,请参见http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html。
更改此内容:
1 2 3 4 5 |
更新:
但是您的代码中还有很多其他问题。您需要清除它。例如:您没有加载错误。然后,您无需验证即可创建用户。
或者您可以尝试以下操作:
1 2 3 4 5 | <?php if(isset($errors) && ('' != $errors) && (null != $errors)): ?> <?php echo $errors; ?> <?php endif; ?> |
请尝试这个
1 2 3 4 5 |