<?

$ip_address = $_SERVER["REMOTE_ADDR"];
$page_name = $_SERVER["SCRIPT_NAME"];
$query_string = $_SERVER["QUERY_STRING"];
$current_page = $page_name."?".$query_string;

$parcala=explode("/", $page_name);

$son=$parcala[count($parcala)-1];


/** @var PDO $dbh */
if(isset($_SESSION["tracking"])){
    //update the visitor log in the database, based on the current visitor
    //id held in $_SESSION["visitor_id"]
    $visitor_id = isset($_SESSION["visitor_id"])?$_SESSION["visitor_id"]:0;

    if($_SESSION["current_page"] != $current_page)
    {

        if($son!="kontrol.php" && $son!='garsonkontrol.php'  && $son!='hesapkontrol.php'){
            $sql = "INSERT INTO visitor_tracking 
            (ip_address, page_name, query_string, visitor_id)
            VALUES ('$ip_address', '$page_name', '$query_string', '$visitor_id')";
            $f = $dbh->prepare($sql);
            $f ->execute();

            $_SESSION["current_page"] = $current_page;   
        }     
    }
} else {
    //set a session variable so we know that this visitor is being tracked

    //insert a new row into the database for this person
    $sql = "INSERT INTO visitor_tracking 
    (ip_address, page_name, query_string)
    VALUES ('$ip_address', '$page_name', '$query_string')";
    $f = $dbh->prepare($sql);
    $f ->execute();
        //find the next available visitor_id for the database
        //to assign to this person
    $_SESSION["tracking"] = true;
    $entry_id = $dbh->lastInsertId();
    $lowest_sql =  ($dbh->prepare("SELECT MAX(visitor_id) as next FROM visitor_tracking"));
    $lowest_sql->execute();
    $lowest_sql = $lowest_sql->fetch(PDO::FETCH_ASSOC);
    $lowest = $lowest_sql["next"];
    if(!isset($lowest))
        $lowest = 1;
    else
        $lowest++;
        //update the visitor entry with the new visitor id
        //Note, that we do it in this way to prevent a "race condition"
    ($dbh->prepare("UPDATE visitor_tracking SET visitor_id = '$lowest' WHERE entry_id = '$entry_id'"))->execute();
        //place the current visitor_id into the session so we can use it on
        //subsequent visits to track this person
    $_SESSION["visitor_id"] = $lowest;
        //save the current page to session so we don't track if someone just refreshes the page
    $_SESSION["current_page"] = $current_page;

}
