0

在我的脚本中,我根据变量选择要包含的页面。

包含的页面是否接收在主页中定义的变量?或者我必须重新定义它们?

如果是这样,将变量传递到包含页面的最佳方法是什么?

我试过 include("page.php?var=".$var)

但似乎实际上试图包含一个具有该字符串名称的文件。

建议?

4

6 回答 6

0

已经在第一页范围内的变量已经在第二页中定义了。

于 2012-09-26T11:29:31.107 回答
0

您最好在主页中设置变量本身。include尝试包含本地文件,而不是 HTTP GET 请求,但无论如何设置变量,您就可以使用它们。

于 2012-09-26T11:30:48.673 回答
0

如果您定义$var = 1并且之后include("page.php");该变量可以在该文件中访问,因为它只不过是您已经获得的扩展。

于 2012-09-26T11:31:03.830 回答
0

这... "include("page.php?var=".$var)" 不起作用

而是尝试以下操作:

page1.php

<?php

$dog_name = "scruff";

include("otherpage.php");

?>

其他页面.php

<?php

echo $dog_name;

?>

这将在 page1.php 上输出:

scruff

正如midnightlightning所说:“已经在第一页范围内的变量已经在第二页中定义了。”

于 2012-09-26T11:33:11.043 回答
0

如果在包含页面之前定义变量,则不需要任何查询字符串。您的变量将在包含的页面中以名称访问。例如

$name = "Awais"
include("page.php");

然后在page.php

 echo $name; //will print Awais
于 2012-09-26T11:33:53.400 回答
0

包含的页面是否接收在主页中定义的变量?

是的,您包含的代码在同一范围内。这也是记录在案的行为,请参阅include

$var = 'value';
include('page.php'); # has $var defined now.
unset($var);
include('page.php'); # has $var undefined now.

如您所见,无需重新定义它们。

但是您可能想将其分开,因为它有副作用,请参阅:

于 2012-09-26T11:46:32.517 回答