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

问题描述:

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

这里是什么,我已经尝试使用超全局的简化版本:

的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

如果我的理解是正确的,你正试图在这是在另一个请求宣告一个请求访问的变量。 您正在调用的index.php和您对function.php所做的ajax请求是不同的http请求。您需要使用$ _SESSION来实现此目的,否则您可能会将声明文件包含在function.php中。

+0

是的,@Pedrusco你需要在function.php中添加index.php或者使用其他方式。 – naf4me