1

我正在开发一个网站,现在我需要将获取参数附加到网站的所有 url。该网站是使用 php 开发的,所有任务都已完成。所以现在有什么方法或任何功能可以帮助我可以自动将get参数自动附加到用户请求的所有url吗?

4

3 回答 3

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,无论你得到什么,从带有GET全局的 URL 可以附加到你的 URL

于 2013-05-26T11:58:00.830 回答
1

我试着回复,但我不知道我打字时是否有人回复:)

首先获取所有变量

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

?>

然后你必须找到页面中的所有链接并附加 $variables,你必须加载 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);
    }
?>
于 2013-05-26T11:59:13.753 回答
1

您必须修改所有附加跟踪 url 集合的链接和表单。为此,您可以通过 $_SERVER ['HTTP_REFERER'] 捕获 php 中的最后一个 url 并将其附加到集合中。但这可能很脏。您应该使用会话进行跟踪,而不是 url 中的 GET 集合。

于 2013-05-26T12:08:25.953 回答