log per ip, laatste 10 keer loggen met tijd/datum
Dit is het vraagstuk.
Ik zoek een script (heb wel al geprobeerd zelf te puzzelen, maar geen succes)
dat voor elk adres mijn website bezoekt, een file creert met de laatste 10 keer dat deze gebruiker (ip) is geweest met tijd en datum.
wanneer deze dan komt voor de 11e keer dat de oudste word verwijderd en de nieuwe erbij gezet word.
voorbeeld:
gebruiker-0.0.0.1 -> word file 0001-> mety de log gegevens tijd en datum.
gebruiker-0.0.0.2 -> word file 0002 -> .............
nu met elke file afzonderlijk max 10 records van de betreffende gebruiker.
komt die de 11e keer moet de eerste worden gewist en de laatste erbij gezet worden.
nu de hamvraag...
is dit haalbaar?
en wie helpt me aan zo'n script.
ik heb ook een mysql, maar dat is nu nog abracadabra voor mij haha.
als je eventueel een scriotje kan opgooien graag.
alvast bedankt
wil je dr best aan helpen, wat schuift het?
Elke keer als een bezoeker je website bezoekt maak je een nieuw record aan in een tabel (bijvoorbeeld) 'visits'. Vervolgens kun je heel eenvoudig allerlei statistieken genereren aan de hand van deze tabel. Dus:
visits
------
id
ip_adres
datum
En om nu te kijken hoe vaak een bepaald ip_adres je site bezocht heeft zou je deze query kunnen gebruiken:
ps. SQL tutorial.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
het probleem zit hem eigenlijk gewoon in de schrijf en lees opdrachten vanuit of na de database.
en dan de instellingen van de database per regel..
de website draait grotendeels op de database, maar dan zat er ook netjes een sql filtje bij die alles in de database plaatst(tabelle)
maar langzaam maar zeker komt het wel goed haha
ik dacht eerst om hier ook een tijdlog in te zetten.
maar ook dat liep niet helemaal goed af...
/code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
$file = "cfgs/iplogfiles.dat";
$addr = $_SERVER['REMOTE_ADDR'];
$filename = file($file);
$count = count($filename);
$ip = "";
for($i = 0; $i < $count; $i++)
{
if(eregi($addr,$filename[$i]))
{
$ip = "exists";
}
}
$total = 2000;
if(!$ip)
{
$filename = file($file);
$openfile = fopen($file,"w");
fputs($openfile,"$addr<br>\n");
for($i = 0; $i < ($total-1); $i++)
fputs($openfile,$filename[$i]);
fclose($openfile);
}
?>
$file = "cfgs/iplogfiles.dat";
$addr = $_SERVER['REMOTE_ADDR'];
$filename = file($file);
$count = count($filename);
$ip = "";
for($i = 0; $i < $count; $i++)
{
if(eregi($addr,$filename[$i]))
{
$ip = "exists";
}
}
$total = 2000;
if(!$ip)
{
$filename = file($file);
$openfile = fopen($file,"w");
fputs($openfile,"$addr<br>\n");
for($i = 0; $i < ($total-1); $i++)
fputs($openfile,$filename[$i]);
fclose($openfile);
}
?>
echter hier is het probleem dat als en ip erinstaat deze niet meer word geupdate naar de nieuwe tijd.
jammer jammer....
Gewijzigd op 01/01/1970 01:00:00 door danny just me
Wat betreft het updaten van de tijd van een ip: dat is niet nodig. Elke keer als een ip-adres je website bezoekt, schrijf je een nieuw record weg in je database. Dat record krijgt een uniek id, de waarde van het ip-adres en het tijdstip waarop dat ip-adres jouw website bezocht heeft. Dat daar na verloop van tijd duizenden records in die tabel staan maakt niets uit, dat kan een database makkelijk aan.
als ik eruit ben gooi ik wel ff een baletje op haha
oja als iemand een idee heeft of code dan gooi ook maar op nhihi
ga ik toch nog eens proberen om de database nog meer aan het werk te zetten