1

私はウェブサイトを開発していますが、現在、ウェブサイトのすべての URL に get パラメータを追加する必要があります。ウェブサイトは php を使用して開発されており、すべてのタスクが完了しています。ユーザーが要求したすべての URL に get パラメータを自動的に追加できますか?

4

3 に答える 3

1

追跡された URL のコレクションを追加するすべてのリンクとフォームを変更する必要があります。そのために、$_SERVER ['HTTP_REFERER'] で php の最後の URL をキャッチし、それをコレクションに追加できます。しかし、これは非常に汚れている可能性があります。URL の GET コレクションではなく、セッションをトラッキングに使用する必要があります。

于 2013-05-26T12:08:25.953 に答える
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 に答える