Scripts

MySQL Database pageload systeempje

Dit script geeft het aantal pageloads als resultaat, je kunt zelf instellen hoe.. Ook slaat het alle pageloads appart op per bezoeker maar echo't dat niet, dat blijft in de database.

mysql-database-pageload-systeempje
<?php
// Dit script echo't het aantal 'pageloads' van dit script,
// je moet dit dus bij elke pagina includen.
// 
// Gemaakt door:  Jochem Kuijpers
// website:       Laloeka.nl
// 
// je mag dit script gratis gebruiken en aanpassen.
// 
// Wat heb je nodig: (nee, we gaan geen taart bakken)
//  - Een host die php ondersteund.
//  - een mysql database
//  - de onderstaande gegevens


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
// /!\ verander de volgende gegevens hieronder /!\ \\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\


$sqlhost = "mysql_host"; // mysql host (meestal localhost)
$sqluser = "mysql_gebruikersnaam"; // mysql gebruikersnaam
$sqlpass = "mysql_wachtwoord"; // mysql wachtwoord
$sqldb = "mysql_databasenaam"; // mysql databasenaam
$sqltab = "mysql_tabel"; // mysql tabel

// in die tabel moeten de volgende kolommen staan:

/*`````````Tabel kolommen`````````*/
/* naam  |  type                  */
/*```````|````````````````````````*/
/* id    |  int (length: 255)     */
/* ip    |  varchar (length: 255) */
/* tijd  |  date(time)            */
/*````````````````````````````````*/

$r="PL"; // deze string word vervangen door het aantal pageloads in de echostring.
$echostring="Pageloads: $r";

// '$r' staat op de plaats waar straks het aantal pageloads
// komt te staan.
// Je kunt ook gebruik maken van een php bestand bijvoorbeeld zo:
// 
// $echostring="<img src=\"texttoimage.php?txt=$r\" alt=\"$r pageload(s)\">";
// 
// dan moet je wel een afbeelding genereren met dat php bestand.
// ik ga je hier niet uitleggen hoe dat moet maar je kunt wel een
// aantal scriptjes vinden op  http://www.phphulp.nl/  die tekst naar
// een afbeelding converteren ...

$sec=0; // aantal seconde dat een pageload zichtbaar blijft
$min=0; // aantal minuten dat een pageload zichtbaar blijft
$uur=0; // aantal uren dat een pageload zichtbaar blijft

// als je $sec=30; , $min=10; en $uur=1; heb staan,
// blijf de pageload dus 1 uur, 10 minuten en 30 seconden zichtbaar.
// LET OP! als je alles 0 laat blijf het altijd zichtbaar:
// het resultaat wat je waarschijnlijk wilt hebben met dit systeem


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
// /!\ blijf van de rest af als je niet weet wat je doet /!\ \\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\


$zichtbaar=$sec+$min*60+$uur*3600; // maak van de seconde, minuten en uren alleen secondes omdat time(); met secondes werkt.

mysql_connect($sqlhost,$sqluser,$sqlpass) or die(mysql_error()); // connect met de mysql server of geef de mysql error als resultaat
mysql_select_db($sqldb) or die(mysql_error()); // selecteer de mysql database

if (!$zichtbaar == 0)
{
    mysql_query("DELETE FROM $sqltab WHERE tijd < ".time()." - $zichtbaar") or die(mysql_error()); // delete alle data met een tijd, lager geleden als $zichtbaar seconden
}

$id=mysql_result(mysql_query("SELECT COUNT(id) FROM $sqltab WHERE ip = '".$_SERVER['REMOTE_ADDR']."'"),0); // vraag het aantal 'ip's' op van de database die onze ip in de kolom 'ip' hebben staan. (dus het aantal pageloads van ons)
$id++;
mysql_query("INSERT INTO $sqltab (id, ip, tijd) VALUES ($id, '".$_SERVER['REMOTE_ADDR']."', ".time().")"); // zet een pageload van ons in de database (id = aantal ips wat er al in stond van ons + 1)

// nu we ons in de database hebben gezet laten we daar maar eens iets van merken :)..
	
$pl=mysql_result(mysql_query("SELECT COUNT(id) FROM $sqltab"),0); //geeft het aantal id's terug (dus alle pageloads in de database) 
$echostring=str_replace($r,$pl,$echostring); //echo de $echostring maar in de plaats van een '$r' kont nu het aantal pageloads (als getal)

echo $echostring; //dit is eigenlijk de echte echo :P

?> 

Reacties

0
Nog geen reacties.