在jquery post之后在多个文件中使用php变量

时间:2013-02-26 16:17:06

标签: php javascript variables

我试图将一个php页面(通过jquery)加载到一个网站的主要部分,我试图加载的php页面需要从主页面共享一个变量。以下是主页面中的代码行:

<div id="main" role="main">
<? $path=pathinfo($_SERVER['PHP_SELF']);$path="photo_store/".$path['filename']."/*"; ?>
</div>

在这个主页的head部分调用一个js文件,它只发布第二个php文件,js文件中的代码是:

$(function() {$.post("images.php",function(data){$('#main').html(data);});});

第二个php文件用于使用以下代码从photo_store子目录创建和显示图像数组

$files = glob($path);

我调查了$_GET$_POST$_SESSION,但我不完全确定它们是如何运作的,并且没有成功。显然,如果我手动将文件夹位置放入glob()然后它将完全加载,如果我要丢弃js文件并使用include'',但我真的想找到一种方法以便我可以使用不使用include''选项的所有文件夹的1个图像文件。

1 个答案:

答案 0 :(得分:0)

Tou必须明白{AJ}加载之前images.php已执行这意味着,您必须使用AJAX将变量发送到网站,或者您必须处理它使用javascript。 (你不想做第二件事)
发送ajax POST参数 - 将显示在$_POST

$.post(   "images.php",
          {path: "<?php echo $path;?>"},
          function(data){$('#main').html(data);});

因此,在images.php中,您可以像这样访问$path

$path = $_POST["path"];

请记住,用户在由ajax发送时会假冒$path。他可以发出自己的POST请求!