PHP:如何从不同的文件访问$ GLOBALS变量?

时间:2017-08-31 02:50:23

标签: php global-variables superglobals

我一直试图在索引页面加载时设置一个变量,然后在.php文件中访问它,但我无法让它工作。我尝试过使用全局变量和超全球$ GLOBALS,但我没有成功。

以下是我尝试使用superglobals的简化版本:

的index.php:

<html>
<body>
    <?php 
        $GLOBALS['a'] = 5;
    ?>
    <div id="myDiv"></div>
</body>


<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

<script type="text/javascript"> //set the content of the "myDiv" 
        $.ajax({
            url:"functions.php", 
            success:function(result){
                $("#myDiv").html(result);}})
</script>

functions.php文件:

<?php
    echo $a;
?>
//got error: Notice: Undefined index: a in C:\xampp\htdocs\function.php on line 2.

我也尝试将functions.php修改为:

<?php
    echo $GLOBALS['a'];
?>

但我得到了同样的错误。

这只是一个简单的错误,还是我错过了全局变量的全部内容?

Obs1:在实际的应用程序中,我试图执行一个读取csv文件并将其作为数组加载到内存中的函数,这需要以后可以访问。

Obs2:我正在使用XAMP 3.2.2

1 个答案:

答案 0 :(得分:0)

如果我的理解是正确的,那么您正在尝试访问另一个请求中声明的一个请求中的变量。 您正在调用的index.php和您对function.php进行的ajax请求是不同的http请求。您需要为此目的使用$ _SESSION,或者您可以在function.php本身中包含声明文件。