我有一个三层树,用于在页面上显示内容。它使用includes来显示基于URL的特定PHP页面。不会发生的是变量在包含的PHP文件中无法理解。
的index.php
// example url http://fakesite.com/?color=red&user=999
$user = $_GET['user'];
if ($_GET['color'] == 'red')
{$color = 'red';}
elseif ($_GET['color'] == 'white')
{$color = 'white';}
else
{$color = 'blue';}
global $color;
global $user;
include 'page2.php';
page2.php
global $color;
global $user;
echo 'hi '.$user.'I hear you like '.$color;
答案 0 :(得分:3)
根本不需要那些$global
行。主脚本中定义的任何变量都在include
d文件中定义。这基本上就像取include
d文件中的代码并将其推到include
调用的位置(除了少数例外)
答案 1 :(得分:0)
这一行:
include_once 'page2.php;
应改为:
include_once 'page2.php';
你的报价不足。
答案 2 :(得分:0)
您是否尝试删除所有这四条全局线?我不知道这是不是问题,但根本不需要它们!
当包含或要求文件时,上面声明的所有变量都可用于包含/所需文件。
如果这没有解决它,也许你在包含上有错误的路径。
答案 3 :(得分:0)
<强>的index.php 强>
<?php
$user = $_GET['user'];
if ($_GET['color'] == 'red')
{$color = 'red';}
elseif ($_GET['color'] == 'white')
{$color = 'white';}
else
{$color = 'blue';}
include 'page2.php';
?>
<强>使page2.php 强>
<?php
echo 'hi '.$user.'I hear you like '.$color;
?>
全球范例
function dosomethingfunky(){
global $user, $color;
echo 'hi '.$user.'I hear you like '.$color;
}