Я пытаюсь сделать среднюю страницу между посетителем и контентом, чтобы взять данные контента для статистики.
Но что-то не работает должным образом, некоторые записи не учитываются и не перенаправляются.код включен.
Может быть, есть лучший способ сохранить и перенаправить.
Я ожидаю получить лучшее решение моей проблемы, возможно, с новым кодом или его агентом пользователяпроблема класса.
//Vars
$database = new Database();
$db = $database->getConnection();
include("../../includes/functions.php");
$BNL = new MBNL();
$ua = new Browser();
if(isset($_GET['id']) AND !empty($_GET['id'])) {
try {
$id = $BNL->protect($_GET['id']);
$select = $db->query("SELECT `default_cost`,`url`,`id` FROM `links` WHERE `unique_id` = '{$id}'");
if ($select->rowCount() > 0) {
$row = $select->fetch();
$url = $row['url'];
$ip = getIP();
$useragent = $_SERVER['HTTP_USER_AGENT'];
$host_name = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$browser = $ua->getBrowser();
$browser_version = $ua->getVersion();
$os = getOs();
$ip_info = ip_info($ip);
if(isset($_GET['data1'])) {
$data1 = $BNL->protect($_GET['data1']);
} else { $data1 = "";}
if(isset($_GET['data2'])) {
$data2 = $BNL->protect($_GET['data2']);
} else { $data2 = "";}
if(isset($_GET['data3'])) {
$data3 = $BNL->protect($_GET['data3']);
} else { $data3 = "";}
if(isset($_GET['data4'])) {
$data4 = $BNL->protect($_GET['data4']);
} else { $data4 = "";}
if(isset($_GET['data5'])) {
$data5 = $BNL->protect($_GET['data5']);
} else { $data5 = "";}
if(isset($_GET['country'])) {
$country = $BNL->protect($_GET['country']);
}
if(isset($_GET['ip'])) {
$ip = $BNL->protect($_GET['ip']);
}
$stmt = $db->prepare("INSERT INTO `entries` (`link_id`, `ip`, `country`, `city`, `country_code`, `os`, `browser`, `browser_version`, `hostname`, `useragent`, `data1`, `data2`, `data3`, `data4`, `data5`, `default_cost`, `timestamp`) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$stmt->execute(array($row['id'], $ip, $ip_info['country'], $ip_info['city'], $ip_info['country_code'], $os, $browser, $browser_version, $host_name, $useragent, $data1, $data2, $data3, $data4, $data5, $row['default_cost'], time()));
}
} catch (Exception $e) {
$stmt = $db->prepare("INSERT INTO `test` (`ip`, `timestamp`) VALUES(?, ?)");
$stmt->execute(array( $_SERVER['REMOTE_ADDR'], time()));
}
echo '<head><META http-equiv="refresh" content="0;URL='.$url.'"></head>';
}