2011-05-13 55 views
7

我想包括一個文件輸出在頁面上的標籤。文件本身會拉起來很好,但是當我嘗試添加所需的查詢字符串時,它給了我一個「無法打開流:沒有這樣的文件或目錄」的錯誤。與PHP的URL查詢字符串包括

我已經嘗試了一個直接include,並嘗試將querystring設置爲一個變量。這就是我現在的位置。

$listingVars = '?mls=' . $_REQUEST['mlid'] . '&lid=0&v=agent';include("agentview.php$listingVars");

有沒有人成功地做到了這一點?

回答

12

您不能在include()中包含查詢字符串。

假設這是一個本地腳本,你可以使用:

$_REQUEST['mls'] = $_REQUEST['mlid']; 
$_REQUEST['lid'] = 0; 
$_REQUEST['v'] = 'agent'; 
include("agentview.php"); 

,如果它是一個不同的服務器上的遠程腳本,不要使用包括。

+0

這工作很好 - 現在我必須弄清楚爲什麼它打破了我的JS!我可以接受這個答案。 – SickHippie 2011-05-13 23:29:25

+0

是否有任何特殊的原因,你需要手動重新請求查詢變量這樣...或者,爲什麼呢? – WoodrowShigeru 2017-03-24 16:01:39

3

我創建的第二頁上的一個變量 - 並通過它的第一頁上的價值 - 和它的工作對我來說:

*Page with include: 'index.php' 
<?php $type= 'simple'; include('includes/contactform.php'); ?> 


*Page included: 'includes/contactform.php' 

switch($type){ 
    case 'simple': 
    //Do something simple 
    break; 

    default: 
    //Do something else 
    break; 
} 
1

我修改由弗蘭克農民給予了一下,爲工作接受的答案不同的查詢:

包括兩次會導致問題:

$_REQUEST['mls'] = $_REQUEST['mlid']; 
$_REQUEST['lid'] = 0; 
$_REQUEST['v'] = 'agent'; 
include("agentview.php"); 

//changing the v to another 
$_REQUEST['v'] = 'agent2'; 
include("agentview.php"); 

對於那些誰遇到這樣的多個包含的問題,你可以包裝在「agentview.php」裏面你的代碼功能:

內agentview.php

function abc($mls,$lid,$v){ 
    ...your original codes here... 
} 

文件需要調用agentview.php

include_once("agentview.php"); 
abc($_REQUEST['mlid'], 0, 'agent'); 
abc($_REQUEST['mlid'], 0, 'agent2'); 

希望它可以幫助別人遇到同樣的問題和我一樣,感謝弗蘭克農民爲我節省了很多時間。