为什么php访问其他页面中定义的变量?

为什么php访问其他页面中定义的变量?,php,session,variables,Php,Session,Variables,这很奇怪,我不知道这是怎么可能的,我的同事在做一个小项目,这里是代码 <?php include 'database/dbconnect.php'; if (!isset($_SESSION['id'])) { header('location:index.php'); } $user = json_decode(file_get_contents('https://graph.facebook.com/' . $fbid)); print_r($user); ?> 定义了$

这很奇怪,我不知道这是怎么可能的,我的同事在做一个小项目,这里是代码

<?php
include 'database/dbconnect.php';
if (!isset($_SESSION['id'])) {
   header('location:index.php');
}
$user = json_decode(file_get_contents('https://graph.facebook.com/' . $fbid));
print_r($user);
?>
定义了$fbid的另一个页面
显然,这两个页面没有连接,没有
包含
没有
要求
。并且两者都在不同的文件夹中

要显示错误,您需要在脚本开头添加以下内容:

error_reporting(E_ALL);
ini_set('display_errors', 'On');

在Facebook上,大多数内容都有一个标识符(FBID)。您可以使用FBID使用URL精确、简洁地引用一段内容。因此,可以在另一个页面中获取$fbid的值。如果您尝试在Facebook之外执行此操作,则可能会出现错误

print_r($GLOBALS)
并尝试在输出fbid变量中查找

你应该开始上课



Other page您指的是
dbconnect.php
?Other page您指的是哪一页?其中$fbid被精确定义。。你是说如果你清除了会话,那么这个页面应该重定向到index.php。进一步的代码不应该运行..不。。。在该页中只有数据库连接。。没别的了,我已经检查过你是否有结果了。您是否使用特定的
$fbid
获取某个用户的结果?您是否尝试过var\u dump($fbid)
?您称之为“它正在得到结果”?如果$fbid为空,则返回一个json对象,其中包含一个“error”属性。请尝试一下,但我们没有使用
error\u报告(0)。它显示页面中是否存在任何其他
错误。默认情况下,错误报告通常设置为隐藏E_通知(有时是E_警告)错误。通过设置为E_ALL,您可以强制它接受所有错误+1是的,兄弟,谢谢它成功了。但我不知道它是如何工作的,我们没有将它定义为全局变量,现在如何取消设置??
error_reporting(E_ALL);
ini_set('display_errors', 'On');
print_r($GLOBALS)
<?php
  session_start();
  include 'database/dbconnect.php';
  if (!isset($_SESSION['id'])) {
  header('location:index.php');
  }
  $user = json_decode(file_get_contents('https://graph.facebook.com/' . $fbid));
   print_r($user);
  ?>