2013-05-26 21 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

相关问题