log per ip, laatste 10 keer loggen met tijd/datum

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny just me

danny just me

13/02/2007 13:35:00
Quote Anchor link
Hallo.
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
 
PHP hulp

PHP hulp

18/04/2024 11:01:57
 
- wes  -

- wes -

13/02/2007 13:40:00
Quote Anchor link
wil je dr best aan helpen, wat schuift het?
 
Joren de Wit

Joren de Wit

13/02/2007 13:41:00
Quote Anchor link
Als mysql nog abacadabra voor je is, zou ik dat nu maar eens gaan leren. Want het gebruik van een database is de oplossing voor dit probleem!

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
    ip_adres,
    COUNT(ip_adres) AS aantal
FROM
    visits
GROUP BY ip_adres


ps. SQL tutorial.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Danny just me

danny just me

13/02/2007 13:57:00
Quote Anchor link
ja druk bezig te proberen de database een beetje te begrijpen.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?
       $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
 
Joren de Wit

Joren de Wit

13/02/2007 14:18:00
Quote Anchor link
Ja, maar nu ben je toch met losse bestandjes bezig en niet met een database. Het werken op deze manier kost je veel meer werk dan dat je het geheel in een database propt. Dat is immers waarin een database voor bedoeld is.

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.
 
Danny just me

danny just me

13/02/2007 14:24:00
Quote Anchor link
oke ik ga eens ff zoeken en puzzelen..
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.