2017-04-27 9 views
0

코드 페이지는 레지스터 페이지를 렌더링 할 때 다음 오류를 발생시킵니다. IT는 Register.php 파일을 :: 회원 등록 렌더링() 라인 (21)에 정의되어 있지하지만 난 모든치명적 오류 : 특정 줄에서 정의되지 않은 메서드 호출

Screenshot

에서 문제를 이해하지 않는 방법처럼 보인다

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Register extends MY_Controller 
{ 

    public function index() 
    { 
     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('first_name', 'First name','trim|required'); 
     $this->form_validation->set_rules('last_name', 'Last name','trim|required'); 
     $this->form_validation->set_rules('username','Username','trim|required|is_unique[users.username]'); 
     $this->form_validation->set_rules('email','Email','trim|valid_email|required'); 
     $this->form_validation->set_rules('password','Password','trim|min_length[8]|max_length[20]|required'); 
     $this->form_validation->set_rules('confirm_password','Confirm password','trim|matches[password]|required'); 

     if($this->form_validation->run()===FALSE) 
     { 
      $this->load->helper('form'); 
      $this->render('register/index_view'); 
     } 
     else 
     { 
      $first_name = $this->input->post('first_name'); 
      $last_name = $this->input->post('last_name'); 
      $username = $this->input->post('username'); 
      $email = $this->input->post('email'); 
      $password = $this->input->post('password'); 

      $additional_data = array(
       'first_name' => $first_name, 
       'last_name' => $last_name 
      ); 

      $this->load->library('ion_auth'); 
      if($this->ion_auth->register($username,$password,$email,$additional_data)) 
      { 
       $_SESSION['auth_message'] = 'The account has been created. You may now login.'; 
       $this->session->mark_as_flash('auth_message'); 
       redirect('user/login'); 
      } 
      else 
      { 
       $_SESSION['auth_message'] = $this->ion_auth->errors(); 
       $this->session->mark_as_flash('auth_message'); 
       redirect('register'); 
      } 
     } 
    } 
} 
+2

'$ this-> render()'를 호출했지만 존재하지 않습니다 ... 이해하기 어려운 부분은 무엇입니까? – Narf

+0

어디서나 렌더링 기능을 볼 수 없습니까? – user4419336

+0

당신은 이유가 있었고, 방법이 존재하지 않았고, 초보자 안내서를 따르고 있었고 이미 '렌더링'이있었습니다. then ... 어디에서 render()를 구현해야 하는가? – Jose

답변

1

당신은 사용해야합니다 :

$this->load->view('register/index_view'); 

내가 codeigniter로 시작했을 때 나는 비슷한 문제가있었습니다. Render()는 일부 라이브러리에서 사용되며 튜토리얼을 따라 갔지만 그 라이브러리에 대해서는 아무 것도 없습니다. 잠시 후 나는 그 기사에서 약간의 주석을 보았고 나는 render()에 대해 알았다. 이것을 사용하려면 구현 한 라이브러리를 찾으십시오.

+0

대단히 감사합니다 !! 친절 하시네요! 그것은 지금 완벽하게 작동합니다! – Jose

+0

당신은 오신 것을 환영합니다! 잘 쓰여지고 이해하기 쉽기 때문에 가능한 한 많은 codeigniter 문서를 사용하는 것이 좋습니다. https://www.codeigniter.com/docs – Vladut