kostenloser Webspace werbefrei: lima-city


Einträge, die 10 minuten überfällig sind löschen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    erstemal moinsen zusammen ^^

    ich hab ein kleines Problem, aber trozdem h?llt mich das iwie voll auf... normalerweise m?sste das gehen, aber dann doch wieder net... aber naja, ich erkl?rs euch mal.

    ich mache gerade sowas wie nen Applikator. Daf?r brauch ich nat?rlich ne Datenbank, weil ich zum einen ne Vorschau erstellen und eine Rechnung erstellen muss. F?r die Vorschau ist das leicht, ich send die gew?nschten "Dinge" an meine Vorschau und die Daten lasse ich dann mit Get-Variablen rundlaufen, falls mal was aktualisiert wird... das Billd soll man ja schlie?lich net die ganze Zeit ganz von vorn erstellen. F?r die Rechnung brauche ich dann aber eine MySQL-Tabelle... nur die Sache ist die... man benutzt einen T?renapplikator ja net immer und die Tabelle soll auch net unendlich gro? und un?bersichtlich werden. Deshalb will ich alle Eintr?ge, die 10 Minuten ?berf?llig sind l?schen lassen.

    hier ist mal das kleene aber feine scriptschen:

    //Hier baue ich die Verbindung auf... Xampp daten, keine echten...
    
    $verbindung = mysql_connect ("localhost",
    "martin", "karl")
    or die ("keine Verbindung m?glich.
     Benutzername oder Passwort sind falsch");
    
    mysql_select_db("homepage")
    or die ("Die Datenbank existiert nicht.");
    
    $kategorie = $_GET['kategorie'];
    
    // Hier wird gepr?ft, ob die IP der Person schon in der Tabelle ist
    //wenn nicht, dann wird die IP eingef?gt
    
    $pruefe_ip = mysql_query("SELECT ip FROM counter WHERE ip='".getenv (REMOTE_ADDR)."'"); 
    $zeilen = mysql_num_rows($pruefe_ip); 
    if($zeilen==0) 
    {
    mysql_query("INSERT INTO counter ( ip , time )VALUES ( '".getenv (REMOTE_ADDR)."', '".time()."')"); 
    }
    
    //Hier wird die Zeit der jeweiligen IP als Timastamp aktualisiert
    //damit PHP wei?... aha, die IP ist hier noch aktiv
    
    $timestamp = time();
    $ip = getenv (REMOTE_ADDR);
    $aendern = "UPDATE counter Set
    time='$timestamp' WHERE ip = '$ip'";
    $update = mysql_query($aendern);
    
    //und jetzt komm die Problemzone
    //alle IPs, die seid 10 Minuten die Seite nicht mehr nutzen, sollen
    //aus der Tabelle gel?scht werden. Nur leider l?scht er die immer sofort
    //und nicht erst nach 10 Minuten
    
    if($timestamp > (time()-1200))
    {
    $loeschen = "DELETE FROM counter WHERE time>'".(time()-1200)."'";
    $loesch = mysql_query($loeschen);
    }


    also... nochmal ganz kurz:

    1. IP wird bei erstmaliger Nutzung in Tabelle eingef?gt
    2. Wenn die IP schon da ist, wird der Timestamp aktualisiert
    3. Wenn eine andere IP die Seite nutzt, pr?ft PHP die erste IP, ob diese schon 10 Minuten lang inaktiv ist. Ist das der Fall, soll die ganze Zeile der inaktiven IP gel?scht werden.
    das macht er aber nicht. Er l?scht die erste IP n?mlich sofort, ohne diese IP zu pr?fen.

    Wenn mir jemand weiterhelfen kann, bin ich sehr dankbar... davon ist n?mlich abh?ngig, ob ich nun meine 2000? bekomme oder net.

    Vielen Vielen Dank schonmal im Vorraus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. der teufel stck im letzten absatz...

    ersters brauchs du die if anweisung nicht und zweiten l?scht du daten s?tze wo
    x gr??er ist als x - y ....

    # wenn zeit in der datenbank KLEINER ist als jetzt - 10 min, dann l?schen
    $loeschen = "DELETE FROM counter WHERE time < ".(time()-1200);
    $loesch = mysql_query($loeschen);
  4. 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!