包含带变量的页面

时间:2013-09-05 21:30:57

标签: php url include

我对PHP很新。我已经学会了如何使用“include”将HTML和PHP文件包含到我的PHP页面中。但是我正在尝试包含一个PHP页面并同时将变量传递给它。我最初的尝试是这样的:

include 'localhost/blah/test.php?var1=20&var2=30';

但是这给了我这个错误:

Warning: include(...): failed to open stream: No such file or directory in C:\xampp\htdocs\blah\index.php on line 78

我猜测包含只允许我打开文件,而不是URL。我在google上做了一些搜索,发现如果我的php.ini文件中的allow_url_fopen为ON,那么我应该能够做到这一点。我检查了php.ini,确实设置为on。

编辑后的答案和评论:

然后看来我想做的事情不会以这种方式运作。最终这就是我想要的:

在index.php上,当用户点击LINK_A时,仅使用blah.php?var = A重新加载#DIV_FOO。

如果用户点击LINK_B,请仅使用blah.php?var = B重新加载#DIV_FOO。

我的页面很大,我试图通过一次只需要一个“子页面”来限制负载,而不是请求整个大的index.php。你会怎么建议这样做?

要更清楚地添加我之前的评论:index.php将包含blah.php。如果用户点击链接,我不希望重新加载index.php,但只有blah.php改为blah.php?var = A.希望你理解我......

4 个答案:

答案 0 :(得分:2)

即使您可以通过URL包含外部文件,您仍然无法将变量作为URL的一部分传递给它 - PHP不会在包含时执行它包含的代码 - 就在程序流到达时它

然而,没有必要。包含的代码接收包含它的范围,因此您可以声明变量,然后包含您的代码,并且您包含的代码将可以访问声明的变量:

<强> main.php

<?php
$a = 5;
$b = 10;
include("extra.php");
?>

<强> extra.php

<?php
$c = $a * $b;
echo $c;       // 50
?>

答案 1 :(得分:1)

无需解析变量,只需定义为&#39; normal

$var1=20;
$var2=30;

include '/PATH/test.php';

如果外部文件在本地托管

,则不解析该文件

答案 2 :(得分:0)

为此,您必须包含完全限定的域名

http://php.net/manual/en/function.include.php

 // Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
 // local filesystem.
 include 'file.php?foo=1&bar=2';

 // Works.
 include 'http://www.example.com/file.php?foo=1&bar=2';

答案 3 :(得分:0)

然后你将一些文件包含在当前脚本中,所有变量都将在基本脚本中。记住,然后你包含文件和处理对象变量,这将不起作用。