2012-03-17 2 views
0

그래서, 나는 몇 가지 문제가 있습니다.CI 해킹에게 경로

나는 단지 그들이 등록하는 경우 방문자가 내 사이트와 상호 작용할 수있는 웹 사이트를 만들려고합니다. 하자 그들은 그들의 이름, 이메일, 비밀번호, blah..blah..blah ... 를 제공 한 그리고 그들의 blah..blah..blah를 제공 한 후 후 .. 그것은 자동 로그인 것이라고 (데이터가 전달되는 경우) 내 사이트로. 사용자가 내 사이트에 로그인 한 후에는 프로필 사진을 업로드 한 것처럼 더 많은 데이터를 제공해야하며 단계별 등록과 같이 내 사이트에서 개인 정보를 제어하는 ​​방법을 다시 제공해야합니다.

나는 그들이 자신의 등록을 완료 할 때까지 그들이 내 사이트와 상호 작용하지 않습니다. 내 사이트의 모든 페이지를 등록이 완료 될 때까지 등록 페이지처럼 보이게하려면 어떻게해야합니까? 나는 이런 종류의 기능을 제대로주지 않을 것입니다. 내 모든 컨트롤러에서

if(is_login()){ 
    if(is_registration_complete()){ 
     //you're free to go 
    } else { 
     // complete your registration first 
    } 
} else { 
    //you're not logged in 
} 

, 당신은 내가 :) 무슨 뜻인지 알고있는 경우

어떻게 globaly이 함수를 만들려면 어떻게해야합니까? 등록이 완료되지 않은 경우 모든 경로의 등록 컨트롤러로 이동합니다. 등록을 마치면, 그들은 기본 경로를 알고 있습니다. 내 영어 나쁜 경우

나는 영어가 가장 쉬운 당신의 검사 기능 라이브러리를 만들 수 아마, 문법 실수 :

답변

0

미안 내 모국어가 아닌 다음을 포함, 미안 해요

class Blog extends CI_Controller { 

     public function __construct() 
     { 
      parent::__construct(); 
      // Load the lib here or Autoload 
      $this->load->library('mylogincheckhelper'); 
      $this->mylogincheckhelper->is_complete(); 
     } 
} 

그리고 당신은 lib 디렉토리에있는 모든 ckecks 및 라우팅을 수행하십시오 영향을 컨트롤러의 생성자입니다. 당신이 그것을 할 수

+0

그리고 무엇이 is_complete() 메소드 안에? 그 방법으로보기를로드 할 수 있습니까? 그리고 블로그 컨트롤러에서 다른보기를 다시로드하지 않습니까? –

0

한 가지 방법은 extend the core CI_Controller하여 사용자 정의 컨트롤러를 만드는 것입니다. 그런 다음 사용자 정의 컨트롤러에서 페이지 컨트롤러를 확장 할 수 있습니다. 확장을 통해 부모 생성자를 상속하고 부모 생성자를 실행 (또는 재정의 한 경우 실행)하여 확장자를 "전역 적으로"사용할 수있게합니다.

//extend the core controller 
class MY_Controller extends CI_Controller { 

    //override to provide additional functionality 
    public function __construct(){ 

     //run the core controller 
     parent::__construct(); 

     //then do your login and registration checks here 
     //you can put code here, call another function or load a helper class 
     //or better, redirect them to your registration page 
    } 
} 

//your page's controller extending from your custom controller 
class Page extends MY_Controller { 

    //not overriding the constructor will execute the parent constructor 
    //every page that extends your extended controller will inherit it's functions 
    //and execute it's constructor 

} 
+0

답변을 주셔서 감사합니다. :) –

0

사후 등록 내용으로보기를 만들고 조건부로 표시합니다. 템플릿에보기를 포함하십시오.