2011-09-21 130 views
0
<?php 
$city = $_GET["city"]; 
$prov = $_GET["prov"]; 

$file = "citycountdetails.php?city=".$city."&prov=".$prov.""; 
?> 

<?php include $file; ?> 

警告:包括(citycountdetails.php城市哈利法克斯=省& = NS?)[]:未能打開流:沒有這樣的文件或目錄。 ...PHP包括的問題,不知道是什麼問題

不知道我做錯了......

感謝

回答

2

在那裏,我怕你不包括與參數的文件!

這些參數僅適用於http請求。 php包括不啓動http請求,它們只包含來自文件系統的本地文件。

有幾種方法可以實現你想要做什麼:


訪問$ _GET [ 「城市」]和$ _GET [ 「省」]從citycountdetails.php內。

這是一個快速醜陋的方法,並導致相當多的依賴性,但至少不壞。


聲明$ 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'; 
?> 

城市數details.php

<?php 
$city = GetCity(); 
$prov = GetProvince(); 
?> 
+0

回到繪圖板我猜.. – mrlayance

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']; 
} 
?>