IP-Sperre

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

  • #31
    mach es wie im tut beschrieben (extra tabelle), is am einfachsten
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #32
      ok habe ich nun trotzdem läufts schief...

      Ich erstelle einen Kommentar, klicke zurück aber kein Kommentar ist zu sehen. In PHPmyAdmin sehe ich, dass im ip_lock Table die ip und das timefeld da ist, welches den wert "00000000000000" hat (?).

      Zudem habe ich noch eine Frage: Diese IP-Sperre ist doch eigentlich unsinnig bessergesagt nur für Test, denn es sollte doch eine id für jeden Besucher erstellt werden, oder ?
      Zuletzt geändert von jOhnny knOx; 29.05.2003, 21:48.

      Kommentar


      • #33
        Original geschrieben von jOhnny knOx
        Zudem habe ich noch eine Frage: Diese IP-Sperre ist doch eigentlich unsinnig bessergesagt nur für Test, denn es sollte doch eine id für jeden Besucher erstellt werden, oder ?
        heißt das, dass nur registrierte user einen kommentar schreiben dürfen sollen?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #34
          Wieso ? hängt das damit zusammen ?

          Kommentar


          • #35
            Original geschrieben von jOhnny knOx
            Wieso ? hängt das damit zusammen ?
            du musst doch wissen wie du das implementieren willst und deine letzte aussage war etwas verwirrend (für mich zumindest)
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #36
              Naja ist auch egal erstmal

              Um nochmal hierdrauf zu kommen:

              Original geschrieben von jOhnny knOx
              ok habe ich nun trotzdem läufts schief...

              Ich erstelle einen Kommentar, klicke zurück aber kein Kommentar ist zu sehen. In PHPmyAdmin sehe ich, dass im ip_lock Table die ip und das timefeld da ist, welches den wert "00000000000000" hat (?).

              Kommentar


              • #37
                Original geschrieben von jOhnny knOx
                In PHPmyAdmin sehe ich, dass im ip_lock Table die ip und das timefeld da ist, welches den wert "00000000000000" hat (?).
                (hab jetzt nicht den kompletten thread durchgelesen, deshalb: )

                welchen typ hat das 'timefeld'?
                wie sieht die query aus, mit der du einen datensatz anlegst?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #38
                  Original geschrieben von wahsaga
                  (hab jetzt nicht den kompletten thread durchgelesen, deshalb: )

                  welchen typ hat das 'timefeld'?
                  wie sieht die query aus, mit der du einen datensatz anlegst?

                  Installation:

                  PHP-Code:
                  mysql_query("CREATE TABLE $news_lock_tname (
                             ip varchar(15),
                            timefeld timestamp
                  )"
                  ); 
                  Index:

                  PHP-Code:
                  <?

                  if ($add) {

                  $order = "SELECT * FROM $news_lock_tname WHERE ip = '".$ip."'";
                  $result = mysql_query($order);

                  $order = "DELETE FROM $news_lock_tname WHERE timefeld <=".$invalid;
                  $result2 = mysql_query($order);

                  $num_rows = mysql_num_rows($result);

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

                  elseif ($num_rows== "") { // Hier sollte die IP ausgelesen werden
                  }

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

                  mysql_query("INSERT INTO table (bla, bla2, bla3) VALUES ('$bla', '$bla2', '$bla3')");
                  mysql_query("INSERT INTO $news_lock_tname (ip, timefeld) VALUES ('$ip', '$time')");

                  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

                  ?>

                  Kommentar


                  • #39
                    Hab jetzt n paar antworten verpasst. hab auch eigentlich keine Lust mehr darauf.

                    Aber du solltest dir über den Unterschied zwischen Unix- und MySQL-Timestamp klar sein. Das ist nicht das selbe!!!

                    Kommentar


                    • #40
                      BTW:
                      Naja es sollte doch eigentlich mit dem Code:
                      code:--------------------------------------------------------------------------------
                      $order = "SELECT IP FROM $news_com_tname WHERE ip >= '".$ip."'";
                      $result = mysql_query($order);
                      --------------------------------------------------------------------------------
                      funktionieren, so wie TobiaZ gesagt hat, aber nicht passiert hierbei beim Eintragen.
                      So direkt hab ichs nicht gesagt. Es war auf jeden Fall anders gemeint:
                      was bringt das, wenn du nachsiehst, ob du ne IP kleiner als die aktuelle in der Datenbank hast. Ich dachte es wäre klar, dass man nach der aktuellen IP fragt (also "=" ) und nach einem Zeitpunt, der größer ist als die validtime. Wie soll ne Sperre sonst funktionieren. Sorry,dass ich mich da etwas undeutlich/kurz ausgedrückt habe.

                      Richtig:
                      PHP-Code:
                      "SELECT COUNT(irgendeinfeld)
                      FROM 
                      $news_com_tname 
                      WHERE ip = '"
                      .$ip."' 
                      AND WHERE timestamp > '"
                      .$validtime."'"
                      Anscheinend hast du das Tut und somit auch das Prinzip nicht verstanden. Schade eigentlich. denn du entfernst dich immer weiter vom Ziel.

                      timefeld da ist, welches den wert "00000000000000" hat (?).
                      Tipp: das Timestampfeld solltest du mal als varchar machen. Dann verschwinden auch deine 0en.
                      Zuletzt geändert von TobiaZ; 30.05.2003, 13:03.

                      Kommentar

                      Lädt...
                      X