我正在开发一个网站,现在我需要将get参数附加到网站的所有网址。网站是使用php开发的,所有任务都已完成。所以有任何方式现在或任何功能的帮助其中我可以自动将get参数附加到用户请求的所有url?
答案 0 :(得分: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
全局网址添加到您的网址
答案 1 :(得分: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);
}
?>
答案 2 :(得分:1)
您必须修改附加跟踪网址集合的所有链接和表单。为此你可以通过$ _SERVER ['HTTP_REFERER']捕获php中的最后一个url并将其附加到集合中。但这可能非常脏。您应该使用会话来跟踪而不是网址中的GET集合。