IP-Sperre

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

  • IP-Sperre

    Ich habe da ne Frage zur IP-Sperre.

    PHP-Code:
    <?

    if ($add) {

    if ($feldname== "") { // Wenn $feldname nicht vorhanden ist, kommt 'ne Fehlermeldung
    }

    elseif ($feldname== "") { // Das selbe wie oben, so werden die ganzen Sachen überpfrüft
    }

    else { // Nun, wenn alles richtig war wird der Kommentar eingetragen

    mysql_query("INSERT INTO table (bla, bla2, bla3) VALUES ('$bla', '$bla2', '$bla3')");

    echo "Dankesmeldung";

    }

    } else { // Das ist nun das else für jeden, der grade die Seite geöffnet hat, also wenn noch nichts eingegeben wurde

    echo "<table width='60%' border='0' cellspacing='1' cellpadding='3'>
    <form action='?action=test&id=$news[id]' method='post'> ... // und so weiter

    ...";

    // An dieser Stelle, unter dem Formular, ist nun die Ausgabe der Kommentare

    ?>
    Okay, soweit sogut. Ich würde gerne wissen, wo ich

    PHP-Code:
    <?
    $query = "DELETE FROM table WHERE timefeld <= ".$invalid; 
    mysql_query($query);
    ?>

    // und ...

    <?
    $query = "SELECT * FROM iptest WHERE ip = '".$ip."'"; 
    $result =  mysql_query($query);
    ?>
    einzugeben habe. Könnte vielleicht jemand anhand meines Codes zeigen wo ich was einsetzen müsste ?

  • #2
    Verstehst du nicht, was dein Script macht, oder wie muss ich deine Frage verstehen. Scheinst die Kurve leider noch nicht ganz bekommen zu haben

    also:

    direkt nach "if ($add) {" kommt das DELETE und dann das SELECT hin.

    Kommentar


    • #3
      Naja, das habe ich auch getan und mir bereits gedacht trotzdem macht mein Script nicht das was ich möchte, denn bei jedem neuem Eintrag wird der alte gelöscht und es bleibt deshalb immer nur ein Kommentar. Deswegen dachte ich, dass da was falsch sein sollte.

      PS: Beim Fehlercheck habe ich natürlich auch

      PHP-Code:
      if ($num_rows >= "1") { ... 

      Kommentar


      • #4
        du sollst ja auch nicht den ganzen eintrag löschen!!!

        entweder du speicherst die ip getrennt, dann kannst du alte logs löschen, oder aber du speicherst ip und kommentar zusammen und überprüfst nur.

        Kommentar


        • #5
          PHP-Code:
          <?
          $query = "DELETE FROM table WHERE timefeld <= ".$invalid; 
          mysql_query($query);
          ?>
          ist doch vom Autor des IP-Sperre Tutorials vorgegeben.

          Kommentar


          • #6
            dann speichert er aber wahrscheinlich nicht die IP beim Datensatz, sondern in einer zweiten Tabelle.

            Kommentar


            • #7
              Haste wohl nicht richtig gelesen:

              Also zuerst brauchen wir mal wieder eine Tabelle in einer Datenbank wo wir die Daten ablegen. Es reicht hierbau eine Tabelle mit 2 Spalten

              Kommentar


              • #8
                Achso, extra eine neue Tabelle für die IP-Sperre ? Ich dachte das kann direkt in die jewelige Tabelle rein ?

                Kommentar


                • #9
                  s.o.

                  kann das auch, aber dann lässt du das delete weg.

                  das delete ist ja nur dafür da, um ein bisschen aufzuräumen.

                  Kommentar


                  • #10
                    naja aber das DELETE löscht den ganzen Eintrag und nicht nur das timefeld

                    Kommentar


                    • #11
                      ist ja auch logisch!

                      Lies diesen Thread nochmal LANGSAM duch!!! (Thanks to abraxax)

                      Bin sicher, du kommst dahinter, was zu tun ist. wenn nicht, dann einfach nochmal melden.

                      Kommentar


                      • #12
                        Welchen Thread meinst du ?

                        Kommentar


                        • #13
                          DIESEN, verdammt!!!

                          Kommentar


                          • #14
                            Habe ich doch...

                            Wie lösche ich denn nur die Spalte Timefeld ?

                            Zudem fällt mir auf, dass der Eintrag ja sofort gelöscht wird und nicht nach 120 Sekunden, wie es eigentlich sein sollte ...

                            Kommentar


                            • #15
                              Habe ich doch...
                              anscheinden nicht!!!
                              Wie lösche ich denn nur die Spalte Timefeld ?
                              Sollst du ja gar nicht! Wenn du die IP zum entsprechenden Comment speicherst, dann brauchst du sie gar nicht zu löschen. Es reicht, wenn du die SELECT etwas anpasst (Das Wherestatement muss an das Wherestatement vom Delete angepasst werden)
                              Zudem fällt mir auf, dass der Eintrag ja sofort gelöscht wird und nicht nach 120 Sekunden, wie es eigentlich sein sollte ...
                              Dann wird deine validtime anscheinden nicht richtig berechnet

                              Kommentar

                              Lädt...
                              X