• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mysql eintag nach 10 sek löschn?!

Status
Für weitere Antworten geschlossen.

wolf360

Neues Mitglied
Hey, da ich ja ne shoutbox hab mit captcha will ich auch nen gscheidn spamsschutz mit ip überprüfung machn, nach einem eintrag soll ein mysql eintrag mit der ip gmacht werdn und nach 10 sek soll er wieder gelöscht werdn?!

wie macht man das?!

gruß wolf360
 
Werbung:
erstel ne extra tabelle mit IP und nem timestamp und dann frag bei eintragen ab

SELECT count(*) FROM `shoutbox_ips` WHERE `ip`=$_SERVER['REMOTE_ADDR']

dann wenn du n ergebniss kriegst einfach nicht eintragen ;) ^^

und in den head deiner shoutbox datei kommt das hier

DELETE * FROM `shoutbox_ips` WHERE `timestamp`>=time() - 10

sollte gehen ^^
 
Werbung:
alle 24 stundn lösch?! dann kann der ja nur alle 24 stundn nen eintrag machn des is ja viel zu lang xD^^
ich werds so wie slibbo machn!! danke !!!

Edit:

wie is das etz mit dem löschn, des hab ich etz nicht so ganz kappiert?


PHP:
<?php
  include("verbindungsaufbau.php");
  mysql_select_db("wolf360_03");

  $zeit = time();

$eintrag = "INSERT INTO `shoutbox_ips` (`ip`,`timestamp`) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$zeit."')";
$eintragen = mysql_query($eintrag);


$auswahl = "SELECT count(*) FROM `shoutbox_ips` WHERE `ip`=".$_SERVER['REMOTE_ADDR']."";
$auswahl1 = mysql_query($auswahl);

?>
also des is etz mal so grob, aber des mit dem 10 sek löschn, hab ich kp?!!
 
Zuletzt bearbeitet:
PHP:
<?php

include("verbindungsaufbau.php");
mysql_select_db("wolf360_03");

mysql_query("DELETE FROM `shoutbox_ips` WHERE `timestamp` >= ".time() - 10);

$auswahl = "SELECT * FROM `shoutbox_ips` WHERE `ip`=".$_SERVER['REMOTE_ADDR']."";
$auswahl1 = mysql_query($auswahl);

if(!mysql_num_rows($auswahl1))
{
    mysql_query("INSERT INTO `shoutbox_ips` (`ip`,`timestamp`) VALUES ('".$_SERVER['REMOTE_ADDR']."','".time()."')");
    
    // hier trägst du dann alles in die datenbank ein ^^ also die POSTs die übergeben wurden ^^
}

?>
 
Werbung:
okey... danke für die hilfe!!

hab etz mal eine andere methode gmacht--->

PHP:
<?php
  include("verbindungsaufbau.php");
  mysql_select_db("wolf360_03");

   $zeitn = time();
   $uhrzeitn = date("H:i:s",$zeitn);


   $zeit = time() + 20;
   $uhrzeit = date("H:i:s",$zeit);


   $auswahl = "SELECT * FROM `shoutbox_ips` WHERE `ip`= '".$_SERVER['REMOTE_ADDR']."'";
   $auswahl1 = mysql_query($auswahl);
   $tester = mysql_num_rows($auswahl1);

   $test = mysql_fetch_assoc($auswahl1);


  $ausgabe = "SELECT * FROM `tests`";
  $ausgaben = mysql_query($ausgabe);


    if($test['timestamp'] >= $uhrzeitn){
      echo $sicherheit = "Bitte noch warten bis zum nächsten eintrag, du hast grad scho nen eintrag gmacht!";
    }
    else{
      $eintragt = "INSERT INTO `tests` (`name`,`text`) VALUES ('".$_POST['name']."','".$_POST['text']."')";
       $eintragenl = mysql_query($eintragt);
    if($tester >= 1){
      echo "IP wurde aktuallisiert!";
      $aendern = "UPDATE `shoutbox_ips` Set `timestamp` = '".$uhrzeit."'";
      $aender = mysql_query($aendern);
    header ("Location: ".$_SERVER['PHP_SELF']."");
    }

else{

  $eintrag = "INSERT INTO `shoutbox_ips` (`ip`,`timestamp`) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$uhrzeit."')";
  $eintragen = mysql_query($eintrag);
}

}

?>

was haltet ihr davon?!

das mit dem nach 24 h löschn mach ich noch....
 
Zuletzt bearbeitet:
Werbung:
Du musst auch bedenken, dass das Löschen von Einträgen nur funktionieren wird, wenn auch jemand das Script aufruft.
Daher wären cronjobs besser, aber auch nicht alle 10 Sekunden
 
@No0oB: Wenn niemand die seite besucht muss denn was gelöscht werden?
Und was verbraucht eine DELETE anweisung schon für recourcen? die arbeit wird doch vom MySQL server erledigt... man braucht echt nicht für alles cronjobs -.-'
 
Werbung:
Es verbraucht ressourcen immer zu überprüfen wann die 10 sekunden um sind, und diese alle zehn Sekunden zu löschen.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben