Top
Phpuniverset logo
 

INDHOLD

Forside

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


Propelcom

ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Tæl antal unikke besøgende i PHP & MySQL

Forside Kategori PHP/MySQL Tæl antal unikke besøgende i PHP & MySQL




 

Den følgende artikel vil gennemgå opbygningen af en simpel tæller, hvor det meste af arbejdet er overladt til MySQL-funktionerne. Artiklen forudsætter basalt kendskab til PHPMyAdmin.


Alle der har haft en hjemmeside i mere end to dage ønsker at finde ud af om der overhovedet er nogen der besøger ens side. En løsning kunne være at oprette sin side på chart.dk, men du kan undgå at tvinges til at have en reklame for chart.dk på din side. Derfor må vi jo gøre chart.dk’s kunst efter og tælle antallet af besøgende på vores side, opbygningen er simpel så der i fremtiden let kan udvides.
Jeg vil gennemgå de forskellige trin i scriptet undervejs. Først skal vi have oprettet en tabel i vores MySQL database, tabellen skal have følgende struktur.

CREATE TABLE `counter` (
`id` int(11) NOT NULL auto_increment,
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`ip` varchar(20) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

Tabellen har jeg valgt at kalde counter. Tabellen indeholder 3 felter.
(id) det er fortløbende og tabellens primær nøgle.
(time) holder styr på hvornår brugeren sidst har været aktiv.
(ip) indeholder brugerens ip, hvilket bruges til at genkende brugeren.

I det følgende kan selve scriptet ses. Det vil være kommenteret løbende. Kommentarerne til scriptet vil være indrammet af /*…*/

<?php
/* Vi connecter til databasen. */
$connection = mysql_pconnect("host", "user", "pass");
mysql_select_db("database");

/* Brugerens ip-adresse gemmes i variablen $ip. */
$ip = $_SERVER['REMOTE_ADDR'];

/* Vi tjekker om brugeren har været her indenfor de sidste 24 timer, har brugeren ikke det, lægges brugeren ind i tabellen. Man kan også tælle unikke besøgende pr. 20 min, ved at ændre 24 HOUR til 20 MINUTE osv. */
$besoegt_idag = mysql_query("SELECT COUNT(*) AS antal FROM counter WHERE ip='$ip' AND date_add(time,interval 24 HOUR) > NOW() ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
if (!mysql_result($besoegt_idag,0)) {
mysql_query("INSERT INTO counter (time, ip) VALUES (NOW(),'$ip')");
}

/* Vi tæller antallet af brugere/rækker i tabellen */
$besoeg_ialt = mysql_query("SELECT COUNT(*) AS antal FROM counter");

/* Vi udskriver det fundne antal brugere/rækker i en echo */
echo "Der har været ".mysql_result($besoeg_ialt,0)." besøg";

/* Til sidst lukker vi forbindelsen til MySQL-databasen */
mysql_close($connection);
?>

Skrevet af: ahv@it.dk



Skrevet af: ahv@it.dk| Dato : 2004-02-18 11:4 | Læst : 10825 gange | Print

Din kommentar og karakter til artiklen

Din karakter:

1

2

3

4

5

6

7

8

9

10

Kommentar:

Log ind for at give en karakter og kommentar.

Kommentarer og karakterer til artiklen

 


7/10

"Hvad nu hvis jeg vil vide det for hele siden? findes der så ikke en kort kode at sætte i toppen af hver side? (altså hvis nu de kommer ind på en underside først?)"

NickerN | 23.01.2006, 19:19

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

FORUM

Nyeste forum indlæg :

PHP/Opencart import module

Opencart/php import modul hjælp

Lækkert kontor / kontorfællesskab i Helsingør

Opdatering af PHP

Vurdering af hjemmeside

Nyeste forum svar :

Lækkert kontor / kontorfællesskab i Helsingør

Android programmering

Joomla som CMS

Grafik problemer

Prissammenligningsside

 

MEDLEM

LOGIN ER IKKE MULIGT, MENS VI LAVER NYT SITE
 

NYHEDSBREV

Nyhedsbrev

Tilmeld dig vores nyhedsbrev og modtag nyheder om nye scripts og tips samt om mange andre nye tiltag på Phpuniverset.dk


 

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk - android talk & help

Bund