ipsperre löscht sich nicht mehr

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ipsperre löscht sich nicht mehr

    hallo leute,

    folgendes der code sperrt, aber er löscht sich nicht mehr. die sperre hält einfach an. das feld zeit hat das format DATETIME.

    PHP-Code:
    $ip $HTTP_SERVER_VARS['REMOTE_ADDR']; 
    $dbanfrage "SELECT * FROM voiting WHERE ip='$ip
    AND date_add(ZEIT, INTERVAL 60 SECOND)>NOW()"

    $result mysql_query($dbanfrage); 
    if (
    mysql_query($dbanfrage)) { 
    kann mit jemand helfen. habe hier im forum schon gesucht.

  • #2


    was habt ihr heute für formulierungen drauf?

    Wieso sollte sich die IP-Sperre löschen?

    Werd mal konkreter!

    Kommentar


    • #3
      ip löschen

      ok, falsch ausgedrückt. sie soll sich nicht löschen, sondern soll nach einer gewissen zeit einfach einen neueintrag wieder zu lassen.
      besser?

      Kommentar


      • #4
        ok

        1) was gibt die query zurück
        2) wie wertest du das aus?

        Kommentar


        • #5
          1. die auswertung habe ich hier vergessen:
          if (mysql_num_rows ($result) > 0)

          Kommentar


          • #6
            Original geschrieben von in-power
            1. die auswertung habe ich hier vergessen:
            if (mysql_num_rows ($result) > 0)
            2. auswertung erfolgt dann über eine if-abfrage
            oder habe ich dich falsch verstanden?

            Kommentar


            • #7
              das sagt jetzt gar nichts aus. da man nicht weiß, was du beim if machst.

              sag mal, sind deine buchstaben so begrenz, oder warum schreibst du nicht einfach mal ausführlich was, wie, warum sache ist, und wie es eigentlich sein sollte

              Kommentar


              • #8
                Re: ipsperre löscht sich nicht mehr

                Original geschrieben von in-power
                hallo leute,

                folgendes der code sperrt, aber er löscht sich nicht mehr. die sperre hält einfach an. das feld zeit hat das format DATETIME.
                der code oben sperrt aber auch nicht mal. der wählt einfach nur den eintrag der ip adresse aus die schon mal gevotet hat.

                ich würde dir vorschlagen du löscht einfach alle einträge die ein bestimmtes alter erreicht haben.

                DELETE FROM voiting WHERE

                und dann schaust du nach ob die ip adresse noch vorhanden ist und wenn nicht soll ein voting möglich sein.

                hoffe ich hab dich richtig verstanden.

                jperl

                Kommentar


                • #9
                  in dem fall ist das select schon richtig, soweit ich weiß was sache ist.

                  Kommentar


                  • #10
                    ich weis mir keinen rat mehr!

                    denn ich habe nun weitergelesen und gesucht und dennoch komme
                    ich nicht weiter.

                    die sperre wird einfach nicht mehr aufgehoben.

                    zur zeit stehe ich auf folgendem code:

                    PHP-Code:
                    $ip=$_SERVER['REMOTE_ADDR']; 
                    $SQL="SELECT * FROM voiting WHERE ip='$ip' AND date_add(zeit, INTERVAL 60 SECOND)>NOW()"
                    $result=mysql_query($SQL); 
                    $check=mysql_num_rows($result); 
                    if(
                    $check!=0){ 
                    die zelle zeit hat das format datetime

                    wer kann mir helfen??

                    Kommentar


                    • #11
                      So, da du ja eh net weiterkommst:

                      in deíner tabelle (voting) solltest du 2 Spalten haben (IP und Datum).

                      Diesen Code setzt du ab besten da, wo dein Vote in die DB eingetragen wird:
                      PHP-Code:
                      //Checken, ob IP Sperre gesetzt wurde
                      $sql "SELECT COUNT(*) as Anzahl FROM voting WHERE IP = '".$_SERVER['REMOTE_ADDR']."';";
                      $result mysql_query($sql) OR die(mysql_error());
                      if(
                      mysql_result($result0)) 
                      {
                      echo 
                      "Sie haben schon in den letzen <b>5</b> Minuten gevotet. Bitte versuchen sie es später nochmal";
                       echo 
                      "<a href=javascript:history.go(-1)><br>Zurück</center></a></font>";
                      }

                      //IP-Sperre setzen
                      $sql "INSERT INTO voting (IP,Datum) VALUES ('".$_SERVER['REMOTE_ADDR']."', NOW())";
                      mysql_query($sql) OR die(mysql_error()); 
                      diesen Code setzt du am besten ganz am Anfang vom Script:
                      PHP-Code:
                      //IP-Sperre "löschen" (nach 5 MInuten)
                      $sql3 "DELETE FROM voting WHERE Datum < DATE_SUB(NOW(), INTERVAL 5 MINUTE)";
                      mysql_query($sql3) OR die(mysql_error()); 

                      Forumregeln!

                      Gute PHP-(tutorial-)Seiten

                      Kommentar


                      • #12
                        So, da du ja eh net weiterkommst:
                        Nett!

                        Kommentar


                        • #13
                          danke

                          danke für das script.

                          hatte das problem mittlerweile schon selber gelöst.
                          ich wollte nur nicht das die ip in einer extra id gespeichert
                          werden muss. habe es einfach so gelöst, das ich das datum
                          der datenbank abfrage und mit der aktuelle zeit-86400
                          vergleiche. es lauft nun.

                          trotzdem danke für deine hilfe.

                          Kommentar

                          Lädt...
                          X