2011-07-18 3 views

답변

26

첫 번째 if 문을 if(! $this->session->userdata('user_id'))으로 바꿉니다.

empty 함수는 변수가 비어 있지만 userdata이 함수인지 확인합니다. 또한 CodeIgniter documentation에 따라 사용자의 정보에 대해 userdata 함수는 해당 항목이 없으면 FALSE을 반환합니다. 즉, user_id이 세션에 없으면 else의 코드가 실행됩니다.

+0

감사합니다. 오류는 너무 모호합니다. 나는 그것이 무엇을 언급하고 있는지 확실하지 않았습니다. – yaz

+0

아름다운 정당성 - "userdata는 함수"입니다. 그것은 시동기가 필요로하는 종류의 설명입니다. 감사! – itsols

2

empty() 함수는이 방법으로 사용할 수 없습니다. 그것은 참조 인수를 기대하지만 직접 함수 반환은 아닙니다. 함수 리턴은 참조로 전달 될 수있는 변수로 간주되지 않습니다.

$test = $this->session->userdata('user_id'); 

if(!empty($test)) 
    $user_id = $test; 
else 
    $error = "ID doesn't exist"; 
5

당신이 다음 CodeIgniter는 이미 당신을 위해 수행하여 데이터를 확인 할 필요가 없습니다 CodeIgniter의의 세션 라이브러리를 사용하는 경우. $this -> session -> userdata('user_id')이 비어 있거나 설정되지 않은 경우 false로 반환됩니다. 그

$user_id = $this->session->userdata('user_id'); 
if(!$user_id){ }else{ $error = 'ID doesn't exist'; } 
0

if(($this -> session -> userdata('user_id') > 0)

같은 단지 코드 뭔가가 더 나은 대신 경우 ($이 -!> 세션 -> 유저 데이터 ('USER_ID'))

때때로 때문에 오류 발생

관련 문제