IP-Gebonden Pageviews Teller
Auteur: Nrzonline - 05 juli 2006 - 15:56 - Gekeurd door: Gerard - Hits: 8597 - Aantal punten: 4.25 (2 stemmen)
Dit is mijn eerste statistieken script die ik ooit is had uitgewerkt. Nu vernieuwd
en wat beter. Mocht er iemand baat bij hebben, veel plezier er mee ;) Het is niet
zo super professioneel, maar het werkt. Mochten er bugs in zitten of heb je suggesties
dan zijn die natuurlijk altijd welkom.
Script doet het volgende:
- IP gebonden pageviews
- Weergave statistieken
- Bezoeker nummer # van de #
- Totaal pageviews van alle gebruikers bij elkaar
- Berekend persoonlijke pageviews van het totaal in procenten
Benodigde SQL:
CREATE TABLE `statistieken` (
`bezoeker_id` int(11) unsigned NOT NULL auto_increment,
`bezoeker_ip` varchar(20) NOT NULL default '',
`bezoeker_views` int(11) NOT NULL default '1',
`bezoeker_datum` varchar(30) NOT NULL default '',
PRIMARY KEY (`bezoeker_id`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=1 ;
|
Code: |
<?PHP
error_reporting (0); // 0 veranderen in E_ALL om alle fouten weer te geven
// Controleren of er een connectie tot stand kan worden gebracht
if (mysql_connect ('localhost', '####', '####') && mysql_select_db ('statistieken')) // Gegevens wijzigen!
{
// Query om te kijken of het ip van de gebruiker al is toegevoegd
$controle_query = mysql_query ( "SELECT COUNT(*)
FROM statistieken
WHERE bezoeker_ip = '" . $_SERVER['REMOTE_ADDR'] . "'")
or die (mysql_error ());
if (mysql_result ($controle_query, 0) == 0)
{
// Het toevoegen van het ip aan het database
mysql_query ( "INSERT INTO statistieken
(bezoeker_ip,
bezoeker_datum)
VALUES
('" . $_SERVER['REMOTE_ADDR'] . "',
'" . date ('d-m-Y') . "')")
or die (mysql_error ());
}
else
{
// Het updaten van de pageviews van de bezoeker
mysql_query ( "UPDATE statistieken
SET bezoeker_views = bezoeker_views+1
WHERE bezoeker_ip = '" . $_SERVER['REMOTE_ADDR'] . "'")
or die (mysql_error ());
}
// De gegevens ophalen voor de myslq_fetch_assoc functie
$gegevens_query = mysql_query ( "SELECT *
FROM statistieken
WHERE bezoeker_ip = '" . $_SERVER['REMOTE_ADDR'] . "'")
or die (mysql_error ());
// Het totaal aantal pageviews vast stellen
$viewstotaal_query = mysql_query ( "SELECT SUM(bezoeker_views)
FROM statistieken")
or die (mysql_error ());
$viewstotaal = mysql_result ($viewstotaal_query, 0);
// Het totaal aantal bezoekers vast stellen
$uniektotaal_query = mysql_query ( "SELECT bezoeker_id
FROM statistieken
ORDER BY bezoeker_id DESC
LIMIT 1")
or die (mysql_error ());
$uniektotaal = mysql_result ($uniektotaal_query, 0);
// De statistieken weergeven
while ($assoc_gegevens = mysql_fetch_assoc ($gegevens_query))
{
if (mysql_result ($controle_query, 0) == 0)
{
echo 'welkom, dit is uw eerste keer hier!';
}
else
{
echo 'U heeft ' . $assoc_gegevens['bezoeker_views'] . ' pageviews sinds ' . $assoc_gegevens['bezoeker_datum'] . '<br>';
echo 'U heeft ' . round(($assoc_gegevens['bezoeker_views'] / $viewstotaal * 100), 1) . '% van het totaal: ' . $viewstotaal . '<br>';
echo 'U bent bezoeker ' . $assoc_gegevens['bezoeker_id'] . ' van de ' . $uniektotaal;
}
}
}
// Er is geen connectie met het database, een fout weergeven
else
{
echo 'Er kon geen connectie tot stand worden gebracht met het database!';
}
?>
<?PHP // Controleren of er een connectie tot stand kan worden gebracht { // Query om te kijken of het ip van de gebruiker al is toegevoegd FROM statistieken WHERE bezoeker_ip = '" . $_SERVER['REMOTE_ADDR'] . "'") { // Het toevoegen van het ip aan het database (bezoeker_ip, bezoeker_datum) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', '" . date ('d-m-Y') . "')") } else { // Het updaten van de pageviews van de bezoeker SET bezoeker_views = bezoeker_views+1 WHERE bezoeker_ip = '" . $_SERVER['REMOTE_ADDR'] . "'") } // De gegevens ophalen voor de myslq_fetch_assoc functie FROM statistieken WHERE bezoeker_ip = '" . $_SERVER['REMOTE_ADDR'] . "'") // Het totaal aantal pageviews vast stellen $viewstotaal_query = mysql_query ( "SELECT SUM(bezoeker_views) FROM statistieken") // Het totaal aantal bezoekers vast stellen FROM statistieken ORDER BY bezoeker_id DESC LIMIT 1") // De statistieken weergeven { { echo 'welkom, dit is uw eerste keer hier!'; } else { echo 'U heeft ' . $assoc_gegevens['bezoeker_views'] . ' pageviews sinds ' . $assoc_gegevens['bezoeker_datum'] . '<br>'; echo 'U heeft ' . round(($assoc_gegevens['bezoeker_views'] / $viewstotaal * 100), 1) . '% van het totaal: ' . $viewstotaal . '<br>'; echo 'U bent bezoeker ' . $assoc_gegevens['bezoeker_id'] . ' van de ' . $uniektotaal; } } } // Er is geen connectie met het database, een fout weergeven else { echo 'Er kon geen connectie tot stand worden gebracht met het database!'; } ?>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|