我有一个php文件
index.php及其网址为index.php?var=item
我在index.php
<?php
require "included.php";
$var=$_GET['var'];
?>
我在我的included.php
中回应了这个变量,如下所示
in included.php
<?php
echo $var;
?>
当我启动index.php?var=item
时,它会显示included.php
中未定义var的错误?
如何克服这个?我想从url在index.php
中定义一些变量,并在包含的文件中做一些工作。
答案 0 :(得分:0)
$var
:
<?php
$var=$_GET['var'];
require "included.php";
?>
在PHP中包含基本上就像将一个文件连接到其他文件一样。所以你原来的代码会导致:
<?php
echo $var;
$var=$_GET['var'];
?>
显然不起作用,因为变量在获取值之前会被回显。
答案 1 :(得分:0)
在包含其他文件之前,PHP代码中设置的任何变量都可以在那里工作。包含的文件不会知道在包含它之后声明或设置的任何其他变量。
在index.php
中,执行以下操作:
<?php
if(isset($_GET['var'])) {
$var=$_GET['var'];
}
require "included.php";
?>
然后像$var
中那样访问included.php
值。
当我写这个答案时,我可以看到一个类似的答案刚刚发布。很抱歉发布它,我认为它包含了更多的解释。