在我的脚本中,我根据变量选择要包含的页面。
包含的页面是否接收在主页中定义的变量?或者我必须重新定义它们?
如果是这样,将变量传递到包含页面的最佳方法是什么?
我试过 include("page.php?var=".$var)
但似乎实际上试图包含一个具有该字符串名称的文件。
建议?
已经在第一页范围内的变量已经在第二页中定义了。
您最好在主页中设置变量本身。include
尝试包含本地文件,而不是 HTTP GET 请求,但无论如何设置变量,您就可以使用它们。
如果您定义$var = 1
并且之后include("page.php");
该变量将可以在该文件中访问,因为它只不过是您已经获得的扩展。
这... "include("page.php?var=".$var)" 不起作用
而是尝试以下操作:
page1.php
<?php
$dog_name = "scruff";
include("otherpage.php");
?>
其他页面.php
<?php
echo $dog_name;
?>
这将在 page1.php 上输出:
scruff
正如midnightlightning所说:“已经在第一页范围内的变量已经在第二页中定义了。”
如果在包含页面之前定义变量,则不需要任何查询字符串。您的变量将在包含的页面中以名称访问。例如
$name = "Awais"
include("page.php");
然后在page.php
echo $name; //will print Awais
包含的页面是否接收在主页中定义的变量?
是的,您包含的代码在同一范围内。这也是记录在案的行为,请参阅include
。
$var = 'value';
include('page.php'); # has $var defined now.
unset($var);
include('page.php'); # has $var undefined now.
如您所见,无需重新定义它们。
但是您可能想将其分开,因为它有副作用,请参阅: