Marcus Vieß: CGI Fehler !?!

Kleines problem bei einem CGI Counter Script.
Ich kann leider kein CGI, aber vielleicht kann einer ja einfach helfen, scheint ja wieder nur ne kleinigkeit zu sein. Beim Counter funktioniert die reloadsperre nicht, möchte dieses Script aber benutzten da es echt schöne funktionen hat.

schreiben der letzten IP

while ($#logip >= 2){
    shift @logip;
  }

$ipAdresse=$ENV{'HTTP_CLIENT_IP'};
  if($ipAdresse eq ""){
  $ipAdresse=$ENV{'REMOTE_ADDR'};
  }
  push(@logip,$ipAdresse."\n");

#############################

Überprüfen auf RELOAD

#############################
sub relaodsperre {
   foreach $IPEINTRAG (@logip) {
      if ("$ipAdresse\n" eq $IPEINTRAG) {
         &grafik;
         exit;
      }
   }
}

Wie gesagt laufen tut das ganze aber wenn ich beim browser auf reload drücke zählt und zählt er ...
IP‚s in die logdatei schreibt er auch schön ! Daran liegts also nicht. Sondern oben stimmt wohl was nicht !
schonmal danke ...

  1. Hallo Marcus,

    Bist Du Dir sicher, daß Du das erneut posten wolltest, oder hast Du nur Deinen Thread vom Dienstag nicht gefunden? ;-)
    Lies auch mal <109037.html>

    Um Dein Problem zu lösen, solltes Du wenigstens ein wenig Perl beherrschen, sonst wird das nicht das einzige Skript bleiben, mit dem Du Schwierigkeiten hast.
    Aber mal schauen, was Dein Skriptsnippet macht.

    schreiben der letzten IP

    while ($#logip >= 2){
        shift @logip;
      }

    Hier entfernst Du aus einer Liste von IPs die ersten, und behälst die letzten drei.

    $ipAdresse=$ENV{'HTTP_CLIENT_IP'};
      if($ipAdresse eq ""){
      $ipAdresse=$ENV{'REMOTE_ADDR'};
      }

    Hierzu bitte den obigen Link beachten

    push(@logip,$ipAdresse."\n");

    Hier wird die User-IP der Liste hinzugefügt

    sub relaodsperre {
       foreach $IPEINTRAG (@logip) {
          if ("$ipAdresse\n" eq $IPEINTRAG) {
             &grafik;
             exit;
          }
       }
    }

    Das Unterprogramm reloadsperre überprüft für jede IP in der Liste @logip, ob die User-IP damit identisch ist.
    Wo wird denn das Unterprogramm überhaupt aufgerufen? Somit kann es vielleicht nicht nur an dem obigen Codeauszug liegen :-)

    Gruß AlexBausW

    P.S.: http://www.activestate.com/Products/ActivePerl/docs/index.html :-)
    P.P.S: Wo hast Du das Skript eigentlich her, wenn man fragen darf?

    Please visit my SELFvisitingcard @ http://www.atomic-eggs.com/selfspezial/daten/150.html