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" $ffexecute= ($dbh->prepare("UPDATE visitor_tracking SET visitor_id = '$lowest' WHERE entry_id = '$entry_id'")); $ffexecute->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; } Haberler

Bizden Haberler

Top