变量是否通过PHP从一个单独的脚本转移到另一个脚本?

时间:2009-11-03 23:52:32

标签: php mysql xhtml

我有一个脚本,上面有PHP,还有一个链接到一个改变PHP的新脚本。在第二个脚本上编写查询并包含变量时,我是否需要使用相同的变量,还是我创建的新变量完全独立?或者,如果使用,第一个脚本中的变量是否可以转移到第二个脚本?

4 个答案:

答案 0 :(得分:4)

如果通过“链接”表示您使用requireinclude,则在该文件中已定义与“链接”在同一scope中定义的任何变量“全球”scope(在大多数情况下)。

如果您通过典型的HTML锚标记链接到另一个页面,那么答案是否定的。但是,您可以使用HTTP GET方法传递信息,或者通过在php中操作$ _SESSION或在浏览器中设置cookie来创建会话。所有通过多个链接维护信息的方式实际上取决于您的需求。在您想要使用HTTP GET的情况下,您可以在脚本A中设置链接以链接到脚本B,如下所示:

<a href="scriptb.php?var1=somedata&amp;var2=somedata2">Click here</a>

然后在脚本B中,您将访问这样的数据:

<?php
$data1 = $_GET['var1'];
$data2 = $_GET['var2'];

然后根据需要使用它。当然,在将数据视为可靠之前,请务必对数据执行sanity checks

答案 1 :(得分:3)

您可以尝试使用sessions

答案 2 :(得分:1)

PHP基本上“没有共享”。因此,在构建链接时,可以使用查询参数(GET或POST)和隐藏参数(cookie)来控制$ _REQUEST变量的状态。

会话($ _SESSION)是一种方便的cookie /文件存储,用于在页面之间迁移公共数据,但通常最好保持会话精简并且没有非关键状态细节。

答案 3 :(得分:1)

正如其他人所提到的,HTTP是无状态的,除非您明确存储,否则不会共享任何内容。大多数情况下,您希望将它们存储在$ _SESSION []超级全局中,但您也可以将它们存储在文件,cookie或数据库中,尽管文件系统和数据库会带来更大的开销,并且可以轻松地操作cookie。