Counter mit IP Sperre!

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

  • Counter mit IP Sperre!

    Hiho
    ich habe einen counter gemacht das problem ist er sollte eine ip sperre haben bloß wie lese ich eine ip aus?
    hier mal mein bisheriger counterdenk ihr mysql wäre besser geeignet?)

    PHP-Code:
      <?
      $datei = fopen("counter.txt","r+");
      $counterstand = fgets($datei, 10);
      if($counterstand == "")
        {
        $counterstand = 0;
        }
      $counterstand++;
      echo $counterstand;
      rewind($datei);
      fwrite($datei, $counterstand);
      fclose($datei);
      ?>

  • #2
    welcher thread aus der suche liegt deinem posting denn zugrunde?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      OffTopic:
      Das ist der Orginal kopierte schattenbaum.net Counter.

      Kommentar


      • #4
        Würde mir mal überlegen eine weitere Textdatei anzulegen wo nur die IP-Adresse gespeichert wird........Und der Counter nur dann erhöht wird wenn die IP-Adresse noch nicht vorhanden ist

        Die IP ist im PHP Environement:

        PHP-Code:
        $_SERVER['REMOTE_ADDR']; 
        [color=blue]MfG Payne_of_Death[/color]

        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
        [color=red]Merke:[/color]
        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

        Murphy`s Importanst LAWS
        Jede Lösung bringt nur neue Probleme
        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

        Kommentar


        • #5
          Re: Counter mit IP Sperre!

          Original geschrieben von Firefly
          denk ihr mysql wäre besser geeignet?
          ja
          Der Programmierer ist der Vormund des Anwenders.

          Kommentar


          • #6
            habe mal einen textbasierenden neuen geschrieben, aber irgentwie funzt er nicht -.-
            (jo der oben ist von schattenbaum aber ich habe ihn ausm kop geschireben ^^ ich bitte das zu beachten!)

            PHP-Code:
            <?
            $hitdatei = fopen ("counter/hit.txt","r");
            $hitdatei1 = file("counter/hit.txt");
            $hitsize = sizeof($hitdatei1);
            $int = 0;
            $hitdata = explode("|",$hitdatei1);

            while($int < $hitsize or $int == $hitsize)
            {
            if($hitdata[$int] = $REMOTE_ADDR AND $hitdata[($int += 1)] > (time()-700))
                {
                $block = 1;
                }
                else
                {
                $block = 0;
                }
            $int += 1;
            }
            fclose($hitdatei);

            $counterdatei = fopen("counter/counter.txt", "r");
            $counterdata = file("counter/counter.txt");
            fclose($counterdatei);

            if($block = 0)
            {
                $counterdatei = fopen("counter/counter.txt", "w");
                $counterdatei1 = file("counter/counter.txt");
                $hitdatei = fopen ("counter/hit.txt","w");
                $hitdatei1 = file("counter/hit.txt");
                $counterdata ++;
                $schreiben = fwrite($counterdatei, $counterdata);
                $ipdings = $REMOTE_ADDR + "|" + time() + "|";
                $schreiben1 = fwrite($hitdatei, $ipdings);
                fclose($counterdatei);
                fclose($hitdatei);
            }
            $counterdatei = fopen("counter/counter.txt", "r");
            $counterdatei1 = file("counter/counter.txt");
            echo 'Besucher insgesamt: <b>'.$counterdatei1[0].'</b>';
            fclose($counterdatei);
            ?>

            Kommentar


            • #7
              was klappt denn nicht?
              an welcher stelle versagt welcher teil?

              Kommentar


              • #8
                er zählt keine neuen dazu

                Kommentar


                • #9
                  dann würd ich an der stelle debuggen, wo er "dazuzählen" muss.

                  Kommentar


                  • #10
                    Original geschrieben von Firefly
                    PHP-Code:
                    if($block 0
                    Was'n das für'n Witz?
                    Ich denke mal nicht, dass das ernst gemeint ist, oder? Du überprüfst, ob PHP die Variable wirklich setzen konnte? Schonmal passiert, dass du false bekommen hast?
                    OffTopic:
                    Sarkasmus ist doch immer wieder was wolles


                    EDIT:
                    oben in der IF-Abfrage übrigens auch...

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      Original geschrieben von ghostgambler
                      PHP-Code:
                      if($block 0
                      [...] Schonmal passiert, dass du false bekommen hast?
                      natürlich, bei dieser zeile sogar jedes mal.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Original geschrieben von wahsaga
                        natürlich, bei dieser zeile sogar jedes mal.
                        gibt das Ding den Wert der Variablen zurück?...mh, naja, wenn das mit fetch_assoc/etc in While funktioniert...naja, aber richtig ist es trotzdem nicht, egal was zurückgegeben wird *g*

                        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                        Wie man Fragen richtig stellt

                        Kommentar


                        • #13
                          Original geschrieben von ghostgambler
                          gibt das Ding den Wert der Variablen zurück?
                          natürlich.

                          eine als logischer ausdruck betrachtete zuweisung läuft immer auf den wert hinaus, der zugewiesen wurde.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            ich habe den code überarbeitet aber er gibt aus "Besucher insgesamt: Array"
                            äre cool wen ihr die fehler vielleicht zitieren könntet mit ner nösung, dankö

                            PHP-Code:
                            <?
                            $hitdatei = fopen ("counter/hit.txt","r+");
                            $hitdatei1 = file("counter/hit.txt");
                            $hitsize = sizeof($hitdatei1);
                            $int = 0;
                            $hitdata = explode("|",$hitdatei1);

                            while($int < $hitsize or $int == $hitsize)
                            {
                            if($hitdata[$int] == $REMOTE_ADDR AND $hitdata[($int += 1)] > (time()-700))
                                {
                                $block = "1";
                                }
                                else
                                {
                                $block = "0";
                                }
                            $int += 1;
                            }
                            fclose($hitdatei);

                            $counterdatei = fopen("counter/counter.txt", "r+");
                            $counterdata = file("counter/counter.txt");
                            fclose($counterdatei);

                            if($block == "0")
                            {
                                $counterdatei = fopen("counter/counter.txt", "w");
                                $counterdatei1 = file("counter/counter.txt");
                                $hitdatei = fopen ("counter/hit.txt","w");
                                $hitdatei1 = file("counter/hit.txt");
                                $counterdata ++;
                                $schreiben = fwrite($counterdatei, $counterdata);
                                $ipdings = $REMOTE_ADDR + "|" + time() + "|";
                                $schreiben1 = fwrite($hitdatei, $ipdings);
                                fclose($counterdatei);
                                fclose($hitdatei);
                            }
                            $counterdatei = fopen("counter/counter.txt", "r+");
                            $counterstand = fgets($counterdatei, 20);
                            echo 'Besucher insgesamt: <b>'.$counterstand.'</b>';
                            fclose($counterdatei);
                            ?>
                            Zuletzt geändert von Firefly; 11.02.2005, 15:53.

                            Kommentar


                            • #15
                              nur wenn du als zeichen von eigeninitiative anfängst zu debuggen und wenigstens annäherungsweise sagst, was an dem code nicht ok ist.

                              d.h. du versuchst den programmablauf schritt für schritt zu verfolgen und schaust immer wieder nach, ob alles so funktioniert, wie es erwartet wird.

                              wenn du in der lage bist, bedingungen wie diese zu entwickeln:
                              PHP-Code:
                              $hitdata[($int += 1)] > (time()-700
                              , wirst du auch debuggen können.

                              Kommentar

                              Lädt...
                              X