2014-02-10 3 views
0

필자는 하루 종일 작동하도록 노력했지만 작동하지는 않습니다.객체가 아닌 정의되지 않은 변수에서 멤버 함수를 호출하십시오. 로그인

$login = new Login(); 

    function inclu(){ 
    if ($login->isUserLoggedIn() == true){ 

     include (($_SERVER['DOCUMENT_ROOT']."/project/log/assets/displayuser.php")); 
    } 
    else { 
     // the user is not logged in. you can do whatever you want here. 
    // for demonstration purposes, we simply show the "you are not logged in" view. 
    include (($_SERVER['DOCUMENT_ROOT']."/project/log/assets/displaysign.php")); 
     }; 
    } 

그것은 오류가납니다 : 공지 사항 : 정의되지 않은 변수 : C에서 로그인 : \ XAMPP \ htdocs를 \ 프로젝트 \ 로그 \ index.php를은 $ 로그인 변수는 if 문이라고했지만 그것은 영향을 나던 라인 38

치명적인 오류 : C에서 비 객체의 멤버 함수 isUserLoggedIn()로 전화 : \ XAMPP \ htdocs에 라인 프로젝트 \ 로그 \의 index.php를 \

+1

기본 PHP 범위 지정 규칙을 알아야합니다. '$ login'은 당신의'inclu()'함수에 존재하지 않습니다. 읽고 배우기 : http://www.php.net/manual/en/language.variables.scope.php –

답변

2

당신은 $ 로그인을 선언 할 필요가 함수에서 다시 :

function inclu() { global $login; /*...*/ } 
0

inclu 함수의 첫 번째 줄은 'global $ login;'이어야합니다. 함수 내에서 전역 변수 로그인을 액세스 할 수있게합니다. PHP의 특수 범위 지정 기술

관련 문제