4

我在下面遇到了一个小问题,我正在努力学习一些未来的项目并且需要帮助。

这是设置:

  1. user在模型目录中的 php 中有一个类。
  2. 我的根目录中有一个home.php文件。
  3. 我已经在文件中包含了用户类的模型,home.php并且能够很好地访问它。
  4. 我有一个profile.php文件,我想通过 ajax 加载到home.php文件中。
  5. 我能够profile.php很好地加载文件,但是问题是当我通过 ajax 加载页面时,该页面上刚刚被调用的信息<?php echo $user->first_name; ?>没有显示出来。但是,如果我在没有 ajax 的情况下正常加载页面,它会显示得很好。

到目前为止我已经尝试过:

  1. 我试图在个人资料页面中包含用户类,但是它给了我一个错误,它已经包含在内。
  2. 我不想将它放入会话变量中,因为我希望能够从这里访问该类。
  3. 我还需要能够访问其他屏幕上的用户类,这就是我将它包含在 home.php 文件中的原因。

任何帮助将不胜感激,因为我对使用 php 和 ajax 还很陌生。

谢谢

这是我正在使用的一些代码。

主页.php

//Here we include are models that we need access to.
include 'apps/user/model/user.php';

$my_user = new User();
global $user;
$user    = $my_user->getUserById($_SESSION['loggedin_user_id']);

配置文件.php

<input type="text" value="<?php echo $user->username; ?>" class="input-xlarge">

javascript通过ajax加载表单

$.ajax({
    url: 'apps/user/view/profile.php',
    success: function(data){
             if(data != null) $("#content").html(data);
    }
});

查看控制台时,我也收到以下错误。

[01-Jun-2013 10:38:03] PHP 注意:未定义的变量:/Users/btackett1377/development/Test/Base/apps/user/view/profile.php 中的用户在第 23 行

4

1 回答 1

0

您是否尝试过使用require_once而不是include?我会尝试在主页和个人资料页面中都要求用户类。

供您参考,PHP 有四个用于包含文件的函数:

  • include- 盲目地包含请求的文件,而不考虑它是否已经包含在内。如果找不到文件,则警告您。
  • include_once- 确保文件只包含一次。如果找不到文件,还会警告您。
  • require- 与 类似include,但如果无法找到请求的文件,则会导致致命错误。
  • require_once- 类似于include_once,但如果找不到文件会导致致命错误。
于 2013-06-01T14:44:00.130 回答