Chantalle: Perl in HTML (Counterproblem)

Hallo,

Ich möchte einen Counter selber programmieren. Das Problem ist das die Seite auf die dieser Counter rauf soll in HTML ist und auch so bleiben soll. Jetzt möchte ich mit Perl einen Counter programmieren, weiss aber nicht wie ich den dann in die HTML Seite einbinden soll.. Es wäre nett wenn mir da jemand weiter helfen könnte. Danke..

Chantalle

  1. Hallo,

    binde die Adresse zu deinem Perlscript in ein Image ein:
    <img src="http://localhost/cgi-bin/counter.pl">

    Nun solltest du mit deinem Script noch ein Bild ausgeben:
    print "location: http://localhost/bild.gif";

    im Perlscript kannst du dann z.B. für jeden Aufruf in einem Textfile 1 dazuzählen lassen.

    Viele Grüße
    Torwächter

    1. Hallo Chantalle,

      ich hab mich mal hingesetzt und dir ein kleines Beispiel programmiert.

      Viele Grüße
      Torwächter

      ----------------test.html-----------------

      <HTML>
      <HEAD>
      <TITLE>TEST</TITLE>
      </HEAD>
      <BODY>
      HALLO DU
      <img src="cgi-bin/couter.pl">
      </BODY>
      </HTML>

      ---------------counter.pl-----------------
      #!/usr/bin/perl

      #der Pfad zu deinem Textfile
      $pfad = "C:/Webserver/htdocs/counter.txt"; #ist jetzt local

      ######### Nichts mehr ändern ###########

      #öffnet das Counterfilde
      open(COUNTER, "$pfad");
      my @ZAHL = <COUNTER>;
      close(COUNTER);

      #geht auch anderst aber so bin ich mir sicher
      foreach $nummer(@ZAHL){}

      #zu Nummer 1 dazuzählen
      $nummerNEW = $nummer + 1;

      #neuen Wert schreiben
      open(COUNTER, ">$pfad");
      print COUNTER "$nummerNEW";
      close(COUNTER);

      1. verdammt, jetzt hab ich die Ausgabe vergessen:

        einfach unter :
        .
        .
        .
        #neuen Wert schreiben
        open(COUNTER, ">$pfad");
        print COUNTER "$nummerNEW";
        close(COUNTER);

        print "Content-type: text/html\n\n";
        print "Location: http:/deineAdresse/bild.gif\n\n";

        1. Hoi,

          #neuen Wert schreiben
          open(COUNTER, ">$pfad");
          print COUNTER "$nummerNEW";
          close(COUNTER);

          Wo ist das File-Locking?

          print "Content-type: text/html\n\n";
          print "Location: http:/deineAdresse/bild.gif\n\n";

          Richtig waere:

          print "Status: 302 Moved temporarily\015\012";
          print "Content-Type: text/html\015\012";
          print "Location: http://adresse/bild.gif\015\012\015\012";

          print <<HTML;
          <html>
           <head>
            <title>302 Moved Temporarily</title>
           </head>
           <body>
            <h1>302 Moved Temporarily</h1>
            <p>
             The content of this document has moved to <a href="http://adresse/bild.gif">http://adresse/bild.gif</a>
            </p>
          </html>

          HTML

          Gruesse,
           c.j.k

          1. ????????

            Hallo erstmal,

            sie möchte einen Counter und keine 302 Fehlermeldung.

            und Filelocking funzt sowieso nur auf Win Systemen, aber der "standart" ist inzwischen UNIX daher unnötig.

            Gruß
            Torwächter

            1. Hoi,

              sie möchte einen Counter und keine 302 Fehlermeldung.

              Das ist keine 'Fehlermeldung', sondern ein Status-Dokument. Falls dir
              das nicht aufgefallen ist, das liefert der Apache auch bei *jedem*
              Aufruf mit, wenn der Inhalt nicht ausgeliefert werden kann.

              und Filelocking funzt sowieso nur auf Win Systemen, aber der
              "standart" ist inzwischen UNIX daher unnötig.

              Ich glaube nicht, dass du weisst, wovon du redest.

              Gruesse,
               c.j.k

              1. Stinksauer,

                MAN WIRD JA MAL NOCH ZWEI SACHEN VERTAUSCHEN DÜRFEN, DANN ERZEUGEN EBEN DIE WINDOWSSYSTEME EINEN FEHLER UND NICHT UNIX:

                http://selfhtml.teamone.de/cgiperl/funktionen/einausgabe.htm#flock

                UND HÖR AUF ANDERE BLÖD ANZUMACHEN!!!!!

                Torwächter hat gesprochen

                1. Hallo,

                  MAN WIRD JA MAL NOCH ZWEI SACHEN VERTAUSCHEN DÜRFEN, DANN ERZEUGEN
                  EBEN DIE WINDOWSSYSTEME EINEN FEHLER UND NICHT UNIX:

                  http://selfhtml.teamone.de/cgiperl/funktionen/einausgabe.htm#flock

                  UND HÖR AUF ANDERE BLÖD ANZUMACHEN!!!!!

                  Volltrottel. *plonk*

                  Gruesse,
                   c.j.k