我有一个网页,其中包含要显示的页面编号:
mydomain.net/index.php?page=42
这没关系。现在我只想在设置特定cookie时显示页面,并且我将大部分主体移动到包含文件,因此index.php只有
<?php
if ($cookie_ok):
include("http://mydomain.net/index_d6skrif9.php");
else:
include("http://mydomain.net/noaccess.inc");
endif
?>
现在包含文件中的$_GET["page"]
,它应该检索页码而不返回任何内容。
我读到$_GET[]
是一个超级全球和超级全球&#39;范围跨包含文件。那么这里有什么问题,我怎样才能在包含文件中使用页码?
答案 0 :(得分:3)
$_GET
适用于所包含的文件,但它无法在包含的HTTP资源中使用。
index_d6skrif9.php
中的PHP将由mydomain.net
执行,然后才会进入带有include
语句的PHP程序。
使用本地文件路径,而不是HTTP URL。
include("index_d6skrif9.php");
或者,将值传递给您从中提取包含的服务器:
include("http://mydomain.net/index_d6skrif9.php?page=" + urlencode($_GET['page']));
请注意,后一种方法存在更多出错的机会,并且效率远低于所包含的本地文件,因此如果您能提供帮助,则不建议这样做。
答案 1 :(得分:0)
您需要在本地包含它们,而不是通过网络:
if ($cookie_ok)
include("index_d6skrif9.php");
else
include("noaccess.inc");
endif
通过使用URL,您可以发出Web请求,服务器在文件中执行PHP并返回内容(使其拥有自己的超级全局集)。