簡體   English   中英

為什么php訪問其他頁面中定義的變量?

[英]why php accessing variables defined in other pages?

這很奇怪,我不知道它怎么可能,我的coliuge在一個小項目上工作的是代碼

<?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沒有在此頁面中defined ,而是在另一頁面中出於不同的目的而定義。 php沒有顯示任何error ,給出了結果。 我清除了sessionscookies什么也沒發生。

dbconnect.php

session_start();
$dbhost="localhost";
$dbuser="uuuu";
$dbpass="pppp";
$dbdatabase="dddd";

mysql_connect($dbhost,$dbuser,$dbpass);

mysql_select_db($dbdatabase) or die("Connection Failed");

定義$ fbid的另一頁

include 'dbconnect.php';
if (isset($_POST['me'])) {
    $me = $_POST['me'];
    $fbid = $me['id'];
    $name = $me['name'];
}

很顯然,這兩個^頁沒有連接,沒有include no require 兩者都在不同的文件夾中

要顯示錯誤,您需要在腳本的開頭添加以下內容:

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

嘗試使

print_r($GLOBALS)

並嘗試在輸出中找到fbid變量

在Facebook上,標識符(FBID)被分配給大多數內容。 您可以使用FBID通過URL准確簡潔地引用一段內容。 因此,可以在另一頁中獲得$ fbid的值。 如果您嘗試在Facebook以外執行此操作,則會收到錯誤消息

您應該開始會議

<?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);
  ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM