2 시간 이상 유선 문제가 있습니다. 나는 그것을 알아낼 수 없었다. 변수 "errors"
을 모델에서 전달하려고하는데 페이지를로드하려고하면 "undefined variable: errors"
이라는 오류가 표시됩니다. 새로운 사용자를 등록하기위한 "등록"페이지를 작성하려고합니다. 여기서 I는 $ 데이터의 오류 [ '에러'] 배열을 검증 설정에 오류가있는 경우에 상기 레지스터컨트롤러에서 Codeigniter보기로 데이터를 전달하는 중 오류가 발생했습니다.
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]'
),
array(
'field' => 'password2',
'label' => 'Password Confirm',
'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 = array(
'username' => $_POST['username'],
'password' => sha1($_POST['password']),
'email' => $_POST['email'],
'user_type' => $_POST['user_type']
);
$this->load->model('user');
$userid = $this->user->create_user($data_array);
$this->session->set_userdata('userID', $userid);
$this->session->set_userdata('user_type',$_POST['user_type']);
redirect(base_url().'index.php/posts');
}
}
$this->load->helper('form');
$this->load->view('header');
$this->load->view('register_user');
$this->load->view('footer');
}
내 컨트롤러이다. 보기는
<h2>Register User</h2>
<?php if($errors): ?>
<div style="background:red;color:white;">
<?php echo $errors; ?>
</div>
<?php endif; ?>
아래에 주어진하지만 브라우저에서 등록 페이지를 열 때, 그것은 "Undefined variable: errors"
말하는 오류를 보여줍니다. 아무도 내가 잘못한 곳을 말해 줄 수 있습니까?
을 할 수있는 당신은 귀하의 의견에 데이터를 전달하므로보다는
당신은 그런
를하고 싶은 일을하기 위해 2 매개 변수를 사용할 수 있습니다 두 번째 매개 변수로'$ this-> load-> view' 배열을 전달해야합니다. CodeIgniter는 배열에서 키를 가져 와서 뷰 파일의 변수로 만듭니다. echo를 시도하기 전에'$ errors'가 설정되어 있는지 확인하십시오. –