Не всегда ловятся get параметры в подключаемом php модуле, при обращении к основному

Есть модуль index.php - это морда сайта, страница к которой непосредственно идут обращения

К ней подключен модуль head.php:

include 'head.php';
include 'menu.php';
?>

В подключаемом head.php ловится "хвост" get параметров, преимущественно это utm метки:

$outer_params_utms = [utm_source,utm_medium,utm_campaign, utm_content, utm_term];
    $login = 0;
    if(stristr($_SERVER['REQUEST_URI'],"utm_source"))
        
        {
        $row_outer_key = $_SERVER['REQUEST_URI'];   
        }
    else{$row_outer_key = $_SERVER['HTTP_REFERER'];}
    if(!stristr($row_outer_key,"utm_source"))
        
    
    {
    if($_REQUEST['utm_source'])    {$utm_source ="utm_source=".$_REQUEST['utm_source'];}       else{$utm_source ="";}
    if($_REQUEST['utm_medium'])    {$utm_medium ="utm_medium=".$_REQUEST['utm_medium'];}       else{$utm_medium ="";}
    if($_REQUEST['utm_campaign'])  {$utm_campaign ="utm_campaign=".$_REQUEST['utm_campaign'];} else{$utm_campaign ="";}
    if($_REQUEST['utm_content'])   {$utm_content ="utm_content=".$_REQUEST['utm_content'];}    else{$utm_content ="";}
    if($_REQUEST['utm_term'])      {$utm_term ="utm_term=".$_REQUEST['utm_term'];}             else{$utm_term ="";}
    
    $row_outer_key = preg_replace('#&+#', '&', "?".$utm_source."&".$utm_medium."&".$utm_campaign."&".$utm_content."&".$utm_term);
        
        
        
        
    }   
    
    $outer_key = strip_tags(stripslashes(trim(mb_substr($row_outer_key,stripos($row_outer_key,"?")+1,455))));
    if($outer_key =="&&" or $outer_key =="&") {$outer_key = "";}
    
    $trm = outer_param_pars($outer_key , $outer_params_utms)['utm_term']; 
    if($trm == "" or strlen(trim($trm)) < 2)
    {
       if($_COOKIE['trm']) {
        
        $outer_key =    $outer_key."&utm_term=".$_COOKIE['trm'] ;
        
        } 
        
    }
    
    $utm_log_new = "/home/put/temp2/row_utm_log_new.txt";
    file_put_contents($utm_log_new, "дата равна:"."?".date("F j, Y, g:i a")."?"."сервер_реквест_ури:"."+".$_SERVER['REQUEST_URI']."+"."реферер:"."=".$_SERVER['HTTP_REFERER']."="."юзер агент без проверки:"."*".$_SERVER ['HTTP_USER_AGENT']."*"."outer_key:"."%".$outer_key."%"."реквест_утм_соурс:"."-".$_REQUEST['utm_source']."-".PHP_EOL, FILE_APPEND);

Собственно логика такая: посмотрели соурс в Server REQUEST_URI, если там нет, то на всякий случай в рефе, на случай, если переход с ленда (сейчас этот момент не нужен, то есть там будет пусто), потом в $_REQUEST. Я ПОНИМАЮ, что это чистое дублирование, просто шла уже перестраховка. Про то что file_put_contents медленный, я тоже в курсе.

СОБСТВЕННО ВОПРОС: может часть данных теряться, ИМЕННО из-за того, что обращение идет к index.php, а метки ловятся в head.php, который к нему подключается ? Мне руками, при тестировании, такую ошибку не удалось вызвать - то есть все мои переходы с метками есть, но по КОСВЕННЫМ признакам, есть ощущение, что часть переходов с метками потеряна. Заранее благодарю за помощь!


Ответы (0 шт):