2

我对以下 php 代码有一个小问题。在输入名称时,我试图显示他们当前的用户名 by $user->username,但它给了我以下错误:

注意:未定义的变量:/home/ /domains/ /public_html/dev/edit_account.php 中的用户在第 36 行

注意:尝试在第 36 行的 /home/ /domains/ /public_html/dev/edit_account.php中获取非对象的属性

在我有的 game_header.php 文件中

$user = new User($_SESSION['id']);

并认为它会起作用,但遗憾的是它没有。

我也试过

$user = new User($_SESSION['id']);

在 edit_account.php 页面上,但我得到了同样的错误。

这是edit_account.php 代码。

有谁知道我在这里可能做错了什么?

    include "game_header.php";

    $_GET['type'] = isset($_GET['type']) && ctype_alpha($_GET['type']) ? trim($_GET['type']) : '0';

switch($_GET['type']) {
    case 'profileoptions' : profile_options(); break;
    default : profile_options();
}

function profile_options() {
    echo '
      
    ';
    include 'game_footer.php';
}
4

1 回答 1

2

封装到函数中时,您必须执行以下操作:

global $user ; //Bring a global variable to the current scope.
echo $user->username ; //Then you can access it and its properties.

所以它必须从以下开始:

function profile_options() {
  global $user ;
  //The rest of code
}

但是,我建议您创建一个参数:

function profile_options(User $user){
  //Much code
} 

然后在可访问的地方调用它$user

profile_options($user) ;
于 2013-06-28T14:30:58.690 回答