File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes HTML, CSS and JavaScript and the fly likes google adsense tracker Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » HTML, CSS and JavaScript
Bookmark "google adsense tracker" Watch "google adsense tracker" New topic
Author

google adsense tracker

lathee
Greenhorn

Joined: Jul 10, 2005
Posts: 1
Hi everyone, this is my first post.
I run a website with Google adsense. I recently made this little script, out of tutorial to track google ads.

this how the code looks like.

// javascript code after the adsense code


& lt;script type="text/javascript">
& lt;!--
function adsense_log_click()
{
if(window.status.indexOf('go to') == 0)
{
adsense_log_url_image = new Image();
adsense_log_url_image.src = 'http://www.mysite.com/track.php?R=' +
escape(document.location) + '&U=' +
escape(window.status.substring(6));
}
}
var elements;
if(document.getElementsByTagName) {
elements = document.body.getElementsByTagName("IFRAME");
} else if (document.body.all) {
elements = document.body.all.tags("IFRAME");
} else {
elements = Array();
}
for(var i = 0; i & lt; elements.length; i++) {
if(elements[i].src.indexOf('googlesyndication.com') > -1) {
elements[i].onfocus = adsense_log_click;
}
}

//-->
& lt;/script>



and this is the code for track.php


& lt;?php
// These are the parameters for connecting to the database.
define ("SITE_DATABASE_HOSTNAME", "localhost");
define ("SITE_DATABASE_PASSWORD", "password");
define ("SITE_DATABASE_USERNAME", "username");
define ("SITE_DATABASE_DATABASE", "dbname");

if(isset($_GET['U'])) {
$DestinationPage = mysql_escape_string(substr(trim($_GET['U']),0,255));
} else {
$DestinationPage = "";
}
if(isset($_GET['R'])) {
$SourcePage = mysql_escape_string(substr(trim($_GET['R']),0,255));
} else {
$SourcePage = "";
}
if($DestinationPage!= "" && $SourcePage!= "")
{
$RemoteAddress = mysql_escape_string(substr(trim($_SERVER['REMOTE_ADDR']),0,255));
$RemoteHost = mysql_escape_string(substr(trim($_SERVER['REMOTE_HOST']),0,255));

$query = "INSERT INTO tblAdsenseClicks ".
" (ClickDate,DestinationPage,SourcePage,RemoteAddress,RemoteHost) ".
" VALUES (".
" '".date("Y-m-d H:i:s")."',".
" '".$DestinationPage."',".
" '".$SourcePage."',".
" '".$RemoteAddress."',".
" '".$RemoteHost."')";

run_query($query);
exit();
}

// Show the statistics page if the U and R variables are not given
?>
& lt;html>& lt;head>& lt;title>Adsense click stats& lt;/title>
& lt;style type="text/css">
table.clickstats {
border-collapse: collapse;
}
table.clickstats th {
color: white;
background-color: #000080;
border: 1px solid #999999;
padding: 3px;
}
table.clickstats td {
border: 1px solid #999999;
text-align: center;
}
& lt;/style>
& lt;/head>
& lt;body>& lt;?php

$query = "SELECT ClickDate,DestinationPage,SourcePage,RemoteAddress,RemoteHost ".
" FROM tblAdsenseClicks ORDER BY ClickDate ";
print_query($query,"clickstats");
print "& lt;/body>& lt;/html>";

// Connects to the site defined database and returns the connection handle.
// Uses a persistent connection and does error checking.
function connect_to_site_database()
{
// Connect to the mysql server
$link = mysql_pconnect(constant("SITE_DATABASE_HOSTNAME"),
constant("SITE_DATABASE_USERNAME"),
constant("SITE_DATABASE_PASSWORD")) or
die("Unable to connect to site database!");

// Select the database
mysql_select_db(constant("SITE_DATABASE_DATABASE"))
or die("Unable to select database: ".constant("SITE_DATABASE_DATABASE"));

return $link;
}

// Standard function to run a query, with error checking.
// Returns the resultset.
function run_query($query)
{
// Connect to the database
connect_to_site_database();

// Run the query
$result = mysql_query ($query) or die ("Invalid query: $query");

// Return the result set
return $result;
}

// prints the query results in a table with the given table style class
function print_query($query, $table_class)
{
connect_to_site_database();

// Select all the records from the addressbook and store them in $result
$result = mysql_query ($query) or die ("Invalid query: $query");

// Get the number of columns (or fields) in the results
$num_fields = mysql_num_fields ($result);

// Get the number of rows in the results
$num_rows = mysql_num_rows ($result);

// Start printing the table to show all the records
echo "& lt;table class=\"$table_class\">\n";
echo "& lt;tr>";

// Print out all the field names as the first row table header
$i=0;
while ($i & lt; $num_fields) {
// Get the field name from the result
$fname = mysql_field_name ($result, $i);
echo "& lt;th>".$fname."& lt;/th>";
$i=$i+1;
}
echo "& lt;/tr>\n";

// Now print out all the data
while ($row = mysql_fetch_row ($result)) {
echo "& lt;tr>";
$k=0;
while ($k & lt; $num_fields) {
echo "& lt;td>".$row[$k]."& lt;/td>\n";
$k=$k+1;
}
echo "& lt;/tr>\n";
}
echo "& lt;/table>\n";

// Do a little clean up
mysql_free_result($result);

}
?>



the above code is working fine. this is how it looks like when its working:

http://img79.imageshack.us/img79/5032/screenshot17rl.jpg

What i really want to do is add a lil feature. It is to, capture the members name who is logged in and username is stored in cookie and also count how many ads he clicked on and send the information to my database, just like how the above code sent information about the
Google ads to my database.

if you are unsure what i am asking for, take a look at this picture i made in paint (visual representation of my idea)

http://img79.imageshack.us/img79/7562/screenshot22vt.jpg

Thank you,

Regards,
Latheesan

[Bear edit: reduced shouting in subject]
[ July 10, 2005: Message edited by: Bear Bibeault ]
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

Hi,

Welcome to JavaRanch!

Even though Java is ten years old, and JavaScript is nine, people still don't always know that they're two seperate, utterly unrelated languages. You're using JavaScript, but this forum is for discussing Java.

We've got a forum devoted to HTML and JavaScript here. I will move this thread there for you.

We've also got a rule about display names: your display name must consist of a real-sounding first and last name. Nicknames and single names aren't acceptable. You can change your display name here. Thanks for cooperating!
[ July 10, 2005: Message edited by: Ernest Friedman-Hill ]

[Jess in Action][AskingGoodQuestions]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: google adsense tracker