2013-05-26 53 views
1

我正在開發一個網站,現在我需要向網站的所有網址附加獲取參數。網站是使用php開發的,所有任務都已完成。那麼現在有什麼辦法或任何函數的幫助下,我可以自動附加獲取參數到用戶請求的所有網址自動?想要將參數自動附加到所有網址中 - PHP

+0

實際上,我正在開發一個推薦系統引擎。所以對於它的評估,我必須跟蹤給用戶提供的那個頁面的推薦數量,我打算使用url的get參數進行跟蹤。 – Nilesh

+0

你的意思是,如果URL最初像'index.php?id = foo'那麼你想追加另一個值,所以它可以是'index.php?id = foo&id2 = bar'? – samayo

+0

是啊,這需要做所有的網址和手動做所有是非常麻煩的。所以有什麼辦法來最大限度地減少這項工作。 – Nilesh

回答

1

您必須修改追加跟蹤URL的集合中的所有環節和形式。爲此,您可以通過$ _SERVER ['HTTP_REFERER']捕獲php中的最後一個url並將其追加到集合中。但這可能非常骯髒。您應該使用會話進行跟蹤,而不是在網址中使用GET收藏。

+0

耶謝謝您的建議。我將使用會議。 – Nilesh

1
<?php 

$current_url = $_SERVER['REQUEST_URI']; 

$add = '?id=car'; // could be from a GET['type'] post 
$add_2 = '&car_type=BMW'; //could be from a GET['car_type'] post 
$add_3 = '&pc_type=Apple'; //could be from a GET['pc_type'] post 

$final = $current_url.$add.$add_2.$add_3; 

echo $final; 

輸出將被

/test.php?id=car&car_type=BMW&pc_type=Apple 

所以,如果你剛剛頁面index.php的,不管你得到的,從URL與GET全球可以附加到您的URL

+0

但它會工作在我的情況。我有正常的網址,並且每當用戶點擊時,應該有一些處理,這些參數應自動​​附加到URL和用戶與頁面顯示。 – Nilesh

+0

我不明白,每當用戶點擊什麼?以及應該處理什麼?我想,你只想喲追加ID,無論如何,只是給我一點點解釋,我會盡力讓它 – samayo

+0

耶我的情況是,用戶點擊index.php應該有一些用戶去索引.php但瀏覽器上的網址應該是index.php?foo = bar ..那麼這個解決方案適用於我的查詢嗎? – Nilesh

1

我嘗試回覆,但我不知道是否有人回覆時,我打字:)

首先得到所有變量

<?php 
$variables = "?f=0"; 
foreach (getallheaders() as $name => $value) { 
    $variables .= "&$name=$value"; 
} 

?> 

然後你必須找到在頁面中的所有鏈接,並追加$變量,你必須加載HTML頁面

<?php 
    $dom = new DOMDocument; 
    $dom->loadHTML($html); 
    $links = $dom->getElementsByTagName('a'); 
    foreach ($links as $link){ 
     $tmpLink = $link->getAttribute('href') . $variables; 
     $link->setAttribute('href',$tmpLink); 
    } 
?> 
+0

的代碼是不完美的,但對我的邏輯是確定.... –

+0

thankx瓦萊里奧.. !!! – Nilesh

相關問題