kostenloser Webspace werbefrei: lima-city


counter mit sperre

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    p*******t

    hi,
    ich suche ein m?glichst einfaches counter-script mit zeit- und ipsperre.
    der counter/das "z?hlen" selbst ist kein problem, aber ich will, dass mehrere ip's mit jeweiliger uhrzeit gespeichert werden.
    also so:
    ein user (z.b. 192.2.2.2) besucht eine seite.
    dessen ip und uhrzeit (time() ) wird gespeichert:
    192.2.2.2|168489166

    ein 2. user (192.3.3.3) besucht die selbe seite.
    dessen ip und uhrzeit (time() ) wird gespeichert:
    192.2.2.2|168489166
    192.3.3.3|189666438

    und so weiter...

    jetzt kommt der 1. user wieder. dessen zeitsperre (1min) ist vorbei, die zeit wird aktuallisiert...

    wo finde ich so ein script, wie funktioniert das?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s*****y

    schau ? mal hier hin: http://www.counter.langmedia.de/


    :thumb::wave:
  4. Autor dieses Themas

    p*******t

    ich br?uchte keinen fertigen counter, sondern eine fertige php-tag/datei">datei sozusagen...
  5. dann such dir ein Tutorial ... bei google.de findest du bestimmt etwas ... ansonsten gibts bei webmasterpro.de auch gen?gend gute tuts ..


    mfg. kEijuQ
  6. das kannste ganz einfach per mysql database machen...

    das speicherst du einfach in eine datenbank mit 2 feldern. einmal ip dann das andere mal time ....
    die gez?hlten seitenaufrufe speicherst du am besten in einer textdatei.
    die zeit in die database einzutragen ist ja nicht so schwer, die ip auch nicht ... du musst halt nur eine if abfrage beim aufrufen des counters machen ... wenn die ip schonmal da ist das zeitfenster ?berpr?fen und gegebenenfalls ?ndern. falls eine ip die sich in der datenbank befindet ?lter als meinetwegen 360 min ist kann der eintrag eigentlich gel?scht werden... das kannst du alles ?ber das aufrufen der seite machen ... oder einfach in der counter routine ....
    naja ... ich schreibe dir mal auf in was f?r einer reihenfolge du forgehen musst!

    Datenbank durchsuchen, zuerst nach einem eintrag der die selbe ip besitzt
    -> falls einer gefunden neues zeitfenster erstellen ... einfach time parameter neu in die datenbank schreiben falls zeit nicht um dann nichts tun
    -> fals nicht gefunden dann nach eintr?gen suchen die ?lter als 360 min sind... einfach in einer for schleife die abfrage durchlaufen und testen ... wenn eriner gefunden wurde ... l?schen
    dann neuen eintrag erstellen mit neuer ip und neuem zeitfenster ...[ip mit --> $ip = getenv("REMOTE_ADDR"); <-- heraussuchen]
    dann darfst du einen besucher mehr auf deine statistik speichern ... wenn du es ganz cool haben willst kannst du ja noch die einzelnen seitenaufrufe einzelner unterseiten in einer statistik abspeichern ... ist relativ einfach zu realisieren .. kannst dann statt der textdatei eine eigene tabelle anlegen mit den feldern wie du auch die seiten hast...
  7. weis nich, ob effektiv is, bzw ob sowas besser geht.... aber es funkt....

    function online($ip) {

    $time = time();
    $expire = $time-60*10;

    $ergebnis3=mysql_query("DELETE FROM online WHERE time<='$expire'");
    $ergebnis=mysql_query("SELECT * FROM online WHERE ip='$ip'");
    $user_on = mysql_num_rows($ergebnis);
    if($user_on==0)
    {
    $ergebnis4=mysql_query("SELECT * FROM counter");
    while($row=mysql_fetch_object($ergebnis4))
    {
    $lastcounter = $row->counter;
    }
    $newcounter = $lastcounter+1;
    $ergebnis5=mysql_query("DELETE FROM counter");
    $sql = "INSERT INTO counter (id, counter)";
    $sql .= "VALUES ('','$newcounter')";
    $result = mysql_query($sql);

    $sql2 = "INSERT INTO online (id, ip, time)";
    $sql2 .= "VALUES ('','$ip', '$time')";
    $result2 = mysql_query($sql2);

    }
    elseif($user_on!=0)
    {
    mysql_query("UPDATE online SET time='$time' WHERE ip='$ip'") or print mysql_error();
    }

    $ergebnis2=mysql_query("SELECT * FROM online");
    $gesamt = mysql_num_rows($ergebnis2);

    $ergebnis5=mysql_query("SELECT * FROM counter");
    while($row2=mysql_fetch_object($ergebnis5))
    {
    $counter = $row2->counter;
    }

    echo "Zur Zeit Online: $gesamt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Du bist User $counter";

    };

    man k?nnte den eigentlichen z?hler nat?rlich auch in eine txt datei schrieben lasen, brauch man nich unbedingt ne tabelle f?r...aller dings f?r die aktuell online leute brauchst du ne mysql tabelle...

    viele gr??e
  8. jo das sieht doch eigentlich ganz gut aus .. aber wieso zum teufel gibt es hier im board nicht nen code tag oder nen php tag damit man das ganze auch was ?bersichtlicher hat ...
  9. ja, das hab ich mich auch gefragt und verzweifelt danach gesucht.... daf?r gibs ja ne menge smilies die keiner brauch...:biggrin:
  10. lol ... das ist wohl leider war ... nicht so das ware ... die features hier vom board ...
  11. Also mann kann selber den code tag machen
    blabalabak


    oder auch nicht... :)
  12. meinste wir haben noch ne nen bb board benutzt... *g* ... wenn wir das nicht getan h?tten w?ssten wir auch nicht das es sowas wie einen code tag gibt ...
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!