<?php
$city = $_GET["city"];
$prov = $_GET["prov"];
$file = "citycountdetails.php?city=".$city."&prov=".$prov."";
?>
<?php include $file; ?>
警告:include(citycountdetails.php?city = Halifax&amp; prov = NS)[function.include]:无法打开流:没有这样的文件或目录....
不确定我做错了什么......
由于
答案 0 :(得分:2)
你不能在那里包含一个带参数的文件!
这些参数仅适用于http请求。 php包括不启动http请求,它们只包含文件系统中的本地文件。
有几种方法可以实现您的目标:
从citycountdetails.php中访问$ _GET [“city”]和$ _GET [“prov”]。
这是一个快速丑陋的方法,并导致相当多的依赖,但至少它并不坏。
声明$ city和$ prov,并从citycountdetails.php(使用全局变量)访问它。
这可能是最糟糕的做法,所以不要这样做。 :d
创建一个函数文件,其中包含检索这些参数的方法
可能是你现在最容易做到的事情,没有任何不良副作用。
的functions.php
<?php
function GetCity(){
return $_GET['city'];
}
function GetProvince(){
return $_GET['prov'];
}
?>
您的档案
<?php
include 'functions.php';
include 'citycountdetails.php';
?>
city count details.php
<?php
$city = GetCity();
$prov = GetProvince();
?>
答案 1 :(得分:0)
无法包含带有查询字符串参数的文件,因为PHP会将查询字符串解释为文件名的一部分。如果您需要将$city
和$prov
传递到citycountdetails.php
,则它们已在全局范围内提供。
修改citycountdetails.php
以引用$city
和$prov
作为$GLOBALS['city']
和$GLOBALS['prov']
而不是$_GET['city']
$_GET['prov']
。
// citycountdetails.php
<?php
$city = $GLOBALS['city'];
$prov = $GLOBALS['prov'];
?>
// Or similarly accomplished in functions.php
<?php
function GetCity(){
return $GLOBALS['city'];
}
function GetProvince(){
return $GLOBALS['prov'];
}
?>