Не всегда ловятся 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, который к нему подключается ? Мне руками, при тестировании, такую ошибку не удалось вызвать - то есть все мои переходы с метками есть, но по КОСВЕННЫМ признакам, есть ощущение, что часть переходов с метками потеряна. Заранее благодарю за помощь!