通过包含的文件传递和打印$ _GET变量

时间:2015-09-09 07:45:42

标签: php variables

我有一个php文件 index.php及其网址为index.php?var=item 我在index.php

中定义了get变量 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中定义一些变量,并在包含的文件中做一些工作。

2 个答案:

答案 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值。

当我写这个答案时,我可以看到一个类似的答案刚刚发布。很抱歉发布它,我认为它包含了更多的解释。