文件之间的PHP变量

时间:2010-08-05 08:49:18

标签: php external

有一个带有一些变量的php文件(current.php),例如:

function do() {
    $var = 'something';
}

还有一个php文件(retrieve.php),使用jQuery ajax current.php加载到.load()

问题 - retrieve.php没有看到$var

试过这个(在retrieve.php里面,什么都不显示):

global $var;
echo $var;

如何解决?

感谢。

3 个答案:

答案 0 :(得分:3)

你必须注意的一些事情:

  • 使用PHP时,不要下载文件:执行脚本并检索其输出。
  • 脚本结束时会破坏PHP变量。除非将它们存储在某处(例如,在数据库或会话文件中),否则不能在两个脚本之间共享变量。
  • PHP变量是您定义它们的函数的本地变量,除非您在函数内部发出global $foo;语句。
  • jQuery是一个JavaScript库。 JavaScript和PHP是不同的语言:它们不能看到其他变量。

说,我建议你重新考虑你的问题并尝试解释你需要完成什么而不是你想要如何实现它。

答案 1 :(得分:1)

  

问题是 - retrieve.php没有看到$ var。

当然可以! 所有current.php变量都与current.php本身一起长时间运行,运行时打印一些HTML并死掉。

您必须使用标准HTTP机制传递所需的值。你知道 - GET,POST等。

答案 2 :(得分:1)

如果您希望通过AJAX加载的脚本从启动AJAX加载的页面获取vars的值,则您必须在加载AJAX脚本时传递值或将它们临时存储在某个位置(在通过会话ID链接的DB中) ,或在会话变量中),以便您可以轻松地检索它们。