2013-04-17 2 views
1

나는 다음과 같은 코드를 작성 된답니다 _construct 기능이 작동하지 않습니다와 나는 브라우저 "리디렉션 내가, _construct 기능에 작업 표 컨트롤러에서 을 재 사용 문제에 직면하고있다

이 문제는 수에 오류를 얻고있다 때때로 비활성화하거나 쿠키를 허용 에 거부가 발생할 수. 여기

내 코드입니다

class Timesheet extends MY_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('timesheet_model'); 
     //$this->load->library('auth'); 
     $username=$this->session->userdata('logged_in'); 

     //$this->load->model('login_model'); 
     if($username['fullname']!=""){ 
     redirect('timesheet'); 

     } 
     else{ 
     redirect('login'); 
     } 

    } 

이 문제를 해결하는 방법을 찾도록 도와주세요. 감사합니다. .

답변

2

내 모습을 보면 마치 돌아 다니는 것처럼 보입니다.

$ username 배열의 fullname 요소가 비어 있는지 확인하고, 동일한 경우 다시 같은 컨트롤러로 리디렉션합니다. 나는 웹 서버가 당신이 언급 한 오류를 던지기 전에 잠시 동안 그것이 주위에 돌아 다니는 것을 내기를 원한다.

올바르게 작업하려는 것을 읽고 있다면, 표시하려는 정보를 표시하기 위해 fullname 요소가있는 경우 작업 표 생성자에서 다른 함수를 호출하지 않겠습니까?

나는 다음을 수행 할 로직을 변경하는 게 좋을 것 :

if($username['fullname'] == ""){ 
    redirect('login'); 
    } 
    else{ 
    //go to another controller method here 
    } 
+0

야 덕분에. 몇 분 전에 깨달았습니다. 그리고 나는 대답에서 그것을 언급했다. 답변 해주셔서 감사합니다. – Hriju

0

확인을. 알았다. 오류는 코드를 작성한 컨트롤러와 동일한 컨트롤러로 리디렉션하고 있기 때문에 발생합니다. 작업 표로 리디렉션 될 때마다 생성 기능에 들어가고 작업 표로 다시 리디렉션됩니다. 그리고 같은 일이 무한 루프처럼 작동합니다.

그래서 오류가 동일한 컨트롤러로 리디렉션되었습니다.

내가

0

사용은 다음과 같이 재 : redirect('timesheet', 'refresh');