передача одного параметра в другой

Тема в разделе "Как сделать...", создана пользователем Alex_Foks, 6 ноя 2012.

  1. Alex_Foks

    Alex_Foks Блуждающий

    Регистр.:
    14 дек 2010
    Сообщения:
    165
    Симпатии:
    35
    В данном случает есть тизерная сеть teasernet (размещаю в ней тизерки)
    она передаёт параметр
    tid (то есть номер площадки) и параметр tz (номер тизерки)
    я передаю параметры в Google Analytics и в ПП (moneysyst). Есть php код, как мне в него допилить передачу тизерок tz в параметр tid

    собственно php код
    <?
    function Refferer()
    {
    if (!isset($_SERVER["HTTP_REFERER"]) || !is_string($_SERVER["HTTP_REFERER"]) || $_SERVER["HTTP_REFERER"] == "") return "";
    $query = $engine_name = $reff = "";
    $parsed_url = @parse_url(urldecode($_SERVER["HTTP_REFERER"]));
    if (!is_array($parsed_url) || !isset($parsed_url["host"])) return "";

    if (!isset($parsed_url["path"])) $parsed_url["path"] = "";
    $reff = str_replace("www.", "", $parsed_url["host"]) . $parsed_url["path"];
    if (isset($parsed_url["query"]) && strlen($parsed_url["query"]) > 2)
    {
    $params = explode("&", $parsed_url["query"]);
    $search_engines=Array(
    Array("name"=>"Images.Mail", "pattern"=>"go.mail.ru/search_images", "param"=>"q="),
    Array("name"=>"Mail", "pattern"=>"go.mail.ru", "param"=>"q="),
    Array("name"=>"Google Images", "pattern"=>"images.google.", "param"=>"q="),
    Array("name"=>"Google", "pattern"=>"google.", "param"=>"q="),
    Array("name"=>"Google", "pattern"=>"google.", "param"=>"as_q="),
    Array("name"=>"Live Search", "pattern"=>"search.live.com", "param"=>"q="),
    Array("name"=>"RapidShare Search Engine", "pattern"=>"rapidshare-search-engine", "param"=>"s="),
    Array("name"=>"Rambler", "pattern"=>"rambler.ru", "param"=>"query="),
    Array("name"=>"Rambler", "pattern"=>"rambler.ru", "param"=>"words="),
    Array("name"=>"Yahoo!", "pattern"=>"search.yahoo.com", "param"=>"p="),
    Array("name"=>"Nigma", "pattern"=>"nigma.ru/index.php", "param"=>"s="),
    Array("name"=>"Nigma", "pattern"=>"nigma.ru/index.php", "param"=>"q="),
    Array("name"=>"MSN", "pattern"=>"search.msn.com/results", "param"=>"q="),
    Array("name"=>"Ask", "pattern"=>"ask.com/web", "param"=>"q="),
    Array("name"=>"QIP", "pattern"=>"search.qip.ru/search", "param"=>"query="),
    Array("name"=>"RapidAll", "pattern"=>"rapidall.com/search.php", "param"=>"query="),
    Array("name"=>"Yandex.Images", "pattern"=>"images.yandex.ru/", "param"=>"text="),
    Array("name"=>"Yandex.Mobile", "pattern"=>"m.yandex.ru/search", "param"=>"query="),
    Array("name"=>"Yandex", "pattern"=>"hghltd.yandex.net", "param"=>"text="),
    Array("name"=>"Bing", "pattern"=>"bing.com", "param"=>"q="),
    Array("name"=>"GoogleAds", "pattern"=>"googleads.g.doubleclick.net/pagead/ads", "param"=>"url="),
    Array("name"=>"GoogleAds", "pattern"=>"pagead2.googlesyndication.com/pagead/ads", "param"=>"url="),
    Array("name"=>"Yandex", "pattern"=>"yandex.ru", "param"=>"text="),
    Array("name"=>"Ya", "pattern"=>"www.ya.ru", "param"=>"key="),
    Array("name"=>"TrafoVod", "pattern"=>"trafovod.ru/click", "param"=>"idwm=")
    );
    foreach ($search_engines as $engine)
    { // Поиск по всем сигнатурам
    if (strpos($reff, $engine["pattern"]) !== FALSE)
    {
    $i = strlen($engine["param"]);
    foreach ($params as $param)
    {
    if (!$param) continue; // Параметр пустой, пропустить
    if (substr($param, 0, $i) == $engine["param"])
    {
    $query = substr($param, $i);
    if ($engine["name"] == "GoogleAds") $query = urldecode(str_replace("http://", "", str_replace("www.", "", $query)));
    for ($i=0; $i<strlen($query); $i++)
    {
    if (ord($query[$i])>191)
    {
    if (ord($query[($i+1)])<128 || ord($query[($i+1)])>191)
    {
    $query = iconv("windows-1251", "utf-8", $query);
    break;
    }
    else $i++;
    }
    }
    $engine_name = $engine["name"];
    break;
    }
    }
    }
    }
    if (!$engine_name && sizeof($params))
    {
    foreach ($params as $param)
    {
    if (preg_match("#^referer=(.+)#", $param, $match) && sizeof($match) == 2)
    {
    $reff = preg_replace('#(http://)|(\?.*)#', "", $match[1]);
    $engine_name = "*";
    break;
    }
    if (preg_match("#^ref=(.+)#", $param, $match) && sizeof($match) == 2)
    {
    $reff = preg_replace('#(http://)|(\?.*)#', "", $match[1]);
    $engine_name = "*";
    break;
    }
    if (preg_match("#^_?ads_src=(.+)#", $param, $match) && sizeof($match) == 2)
    {
    $reff = preg_replace('#(http://)|(\?.*)#', "", $match[1]);
    $engine_name = "*";
    break;
    }
    }
    }
    }
    if (!$engine_name)
    {
    if (stripos($reff, "goodsbrowser.com") !== false || stripos($reff, "marketgid.com") !== false)
    {
    $params_mg = explode("/", $reff);
    if (sizeof($params_mg) > 5 && $params_mg[3] == "i" && intval($params_mg[4]))
    {
    $engine_name = "MarketGid";
    $query = intval($params_mg[4]);
    }
    }
    elseif (stripos($reff, "luxup.ru") !== false)
    {
    $params_mg = explode("/", $reff);
    if (sizeof($params_mg) > 7 && intval($params_mg[6]))
    {
    $engine_name = "LuxUp";
    $query = intval($params_mg[6]);
    }
    }
    elseif (stripos($reff, "c.redclick.ru") !== false)
    {
    $params_mg = explode("/", $reff);
    if (sizeof($params_mg) > 7 && intval($params_mg[6]))
    {
    $engine_name = "RedClick";
    $query = intval($params_mg[6]);
    }
    }
    }
    if (!$engine_name && sizeof($_GET))
    {
    if (isset($_GET["utm_medium"]))
    {
    $reff = urldecode(preg_replace('#\?.*#', "", $_GET["utm_medium"]));
    $engine_name = "*";
    }
    elseif (isset($_GET["tid"]) && intval($_GET["tid"]))
    {
    $engine_name = "TeaserNet";
    $query = intval($_GET["tid"]);
    }
    }
    return "&uref=" . urlencode($reff . "::" . $engine_name . "::" . $query);
    }

    $refferer_string = Refferer();
    ?>



    UPD:

    тоесть ко мне приходит ссылка вида
    http://ivanie.com/news.php?tz=2272182
    она передаётся на страничку сайта и нужно передать её дальше на moneysyst уже не с параметром tz а с параметром tid
    то есть что бы получилось
    http://ivanie.com/news.php?tid=2272182
     
  2. SolutionFix

    SolutionFix 17 лет програмлю ;)

    Регистр.:
    20 ноя 2006
    Сообщения:
    272
    Симпатии:
    318
    Я хз что ты имеешь в виду под "передать дальше". Ну ладно, попробую угадать :)
    1. Показать новую ссылку (вставить в том месте где надо показать )
    PHP:
        if($Tid intval($_REQUEST['tz'])) echo "<a href='?tid=$Tid'>$Tid</a>";
    2. Перенаправить пользователя по этой ссылке (вставить в самом начале скрипта)
    PHP:
        if($Tid intval($_REQUEST['tz'])) {
            
    header("Location: ?tid=$Tid");
            exit;
        }