首页 > 解决方案 > 重定向页面无法正常工作 - 获取数据并重定向

问题描述

我正在尝试在访问者和内容之间建立一个中间页面,以获取内容的数据进行统计。

但是有些东西不能正常工作,一些条目没有计算在内,也没有重定向。包括代码。

可能有更好的方法来保存和重定向。

我希望通过新代码或用户代理类问题获得我的问题的最佳解决方案。

//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>';

}

标签: phpredirecturl-redirection

解决方案


推荐阅读