Quick and Dirty Hit Notifier

by lisag
5 replies
From time to time I like to get instant notification when my site is visited. I do this especially on landing pages when I first start promoting them. I do it all the time on my freelance portfolio site so I can see when people are checking me out.

It's not an elegant solution but it works for me. It might be something you would want to use, so here it is. It's in PHP. Just install it at the top of your index.php, after any include file statements, or add it to your config.php.

// send the admin an email
// Remember to change the values for $sitename and $admin_email!
$ttime = date("F j, Y, g:i a");
$sitename = 'Your site name goes here';
$admin_email = 'youremail@address.com';
$ip = getip();
$host = gethostbyaddr($ip); //Native PHP function
$origin = $_SERVER['HTTP_REFERER'];
if (empty($origin)){$origin = 'an unknown link ';}
$message = "A visitor from $host ($ip) visited via $origin at $ttime.";
$subject = "New visitor to $sitename";
mail($admin_email,$subject,$message);
function getip() {
if (isSet($_SERVER)) {
if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isSet($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
}
return $realip;
}
#dirty #hit #notifier #quick

Trending Topics