在非对象Undefined变量:login上调用成员函数

时间:2014-02-10 01:29:44

标签: php

我一直试图让这一整天工作,但它似乎没有用。 $ login变量被调用,但它不会影响if语句:

  $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"));
        }; 
    } 

它出现了错误: 注意:未定义的变量:在第38行的C:\ xampp \ htdocs \ project \ log \ index.php中登录

致命错误:在线上的C:\ xampp \ htdocs \ project \ log \ index.php中的非对象上调用成员函数isUserLoggedIn()

2 个答案:

答案 0 :(得分:2)

您需要在函数中再次声明$ login:

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

答案 1 :(得分:0)

inclu函数中的第一行必须是'global $ login;'获取函数内可访问的全局变量登录名。这是PHP的一种特殊范围技术