Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(-1); // reports all errors
- ini_set("display_errors", "1"); // shows all errors
- ini_set("log_errors", 1);
- //echo "script start ";
- require 'vendor/autoload.php';
- use GeoIp2\Database\Reader;
- $host = 'localhost';
- $db = 'cpp_loader';
- $user = 'root';
- $pass = 'B92fueo6aU';
- $charset = 'utf8';
- $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
- $opt = [
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
- PDO::ATTR_EMULATE_PREPARES => false,
- ];
- $pdo = new PDO($dsn, $user, $pass, $opt);
- $ip = getIP();
- if (strpos($ip, ',') !== false) {
- $ip_arr = explode(",", $ip);
- $ip = $ip_arr[0];
- }
- try{
- $reader = new Reader('GeoIP2-City.mmdb');
- $record = $reader->city($ip);
- $country = $record->country->name;
- $cc = $record->country->isoCode;
- //add to db info
- }
- catch (GeoIp2\Exception\AddressNotFoundException $e ){
- $country = "Not found";
- $cc = "NotF";
- }
- $av = $_POST['av'];
- $os = $_POST['os'];
- $date = date('Y-m-d H:i:s');
- $q = $pdo->prepare('update `hits` set os = :os, av = :av where ip = :ip limit 1');
- $q->bindParam(':ip', $ip);
- $q->bindParam(':av', $av);
- $q->bindParam(':os', $os);
- $q->execute();
- function getIP()
- {
- if (isset($_SERVER["HTTP_X_REAL_IP"]))
- return $_SERVER["HTTP_X_REAL_IP"];
- else if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
- return $_SERVER ["HTTP_X_FORWARDED_FOR"];
- return $_SERVER['REMOTE_ADDR'];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement