php全局变量在包含的文件中不起作用

php全局变量在包含的文件中不起作用,php,global-variables,php-include,Php,Global Variables,Php Include,我已经找了一天的时间来解决这个问题,但还没有找到解决办法, 我有一个名为:online的函数该函数位于一个名为client.php的文件中,该文件位于root/dir/includes/client.php中: 在client.php中: 到目前为止一切正常 问题是。。。 我也需要在子目录中的其他页面中使用此功能,更具体地说,我正在尝试将此功能添加到位于:root/wp的wordpress网站 在我的wordpress标题中,我包括client.php: 我得到了输出,所以我确信它被包括在内,但

我已经找了一天的时间来解决这个问题,但还没有找到解决办法, 我有一个名为:online的函数该函数位于一个名为client.php的文件中,该文件位于root/dir/includes/client.php中:

在client.php中: 到目前为止一切正常

问题是。。。 我也需要在子目录中的其他页面中使用此功能,更具体地说,我正在尝试将此功能添加到位于:root/wp的wordpress网站 在我的wordpress标题中,我包括client.php:

我得到了输出,所以我确信它被包括在内,但是,当我打开我的wordpress root/wp时,没有一个全局变量起作用,结果是$available=null,而正如client.php中定义的那样,它应该是false

令人困惑的是,当我在wordpress标题中回显$available时,我可以得到值,但当我在client.php中回显它时,它再次为null,因此如果我在wordpress标题和client.php中回显,当我打开wordpress页面时,我可以看到标题中包含的一个,client.php中的另一个为null

任何帮助都将不胜感激。

这可能是一个问题。尝试使用

$GLOBALS['available']
而不是

$available
在client.php中。因此,它将在全球范围内定义。 在定义部分,还应:

$GLOBALS['available'] = "false"; and $GLOBALS['available'] = "true";

您的问题可能是include文件中的链接引用。你可以试试:
include/rootfolder/dir/includes/client.php;而不是include../dir/includes/client.php;也有类似的问题,但这已解决。

不再使用mysql_*函数。他们被弃用了。切换到mysqli_*函数。@TobiasKun谢谢,我不是专家,我应该在整个代码中用mysqli替换mysql吗?看一下,如果以后有问题,在这里问他们:$available在全局范围内声明了吗?如果include脚本加载到函数上下文中,那么它将驻留在该函数上下文中。以后使用global$available的尝试自然会失败。我以前也尝试过,与在函数中定义globals一样,我的意思是在定义中:$globals['available']=false;$GLOBALS['available']=true;
$GLOBALS['available']
$available
$GLOBALS['available'] = "false"; and $GLOBALS['available'] = "true";