0

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

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

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

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

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

$files = glob($path);

我研究了$_GET,但不完全确定它们是如何运作的,$_POST并且$_SESSION没有成功。显然,如果我手动将文件夹位置放入,glob()那么如果我要丢弃 js 文件并使用它,它将加载完全相同include'',但我真的想找到一种方法,这样我就可以在不使用的情况下为所有文件夹使用 1 个图像文件include''选项。

4

1 回答 1

0

Tou必须明白,它是在AJAX加载之前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"];

请记住,用户$path可以在 ajax 发送时伪造。他可以发送自己的 POST 请求!

于 2013-02-26T16:21:44.580 回答