Richard: Übergabe einer Seite von HTML in ein CGI Script

Kann ich aus einer HTML Seite an ein CGI Script eine Variable übergeben? Wenn ja, wie?
Danke!
Richard
--- ENDE ---

  1. Hallo,

    Kann ich aus einer HTML Seite an ein CGI Script eine Variable übergeben?

    Du kannst ueber ein Formular oder ueber URL-Anhaengsel
    Parameter an serverseitige Skripte uebergeben.

    Fuer genauere Angaben muesstest Du die Frage etwas genauer
    stellen, z.B. solltest Du erwaehnen, welche serverseitige
    Skriptsprache denn bei Dir zum Einsatz kommt...

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hallo Thomas!
      Nun ich will bewusst kein Formular verwenden sondern nur aus einer HTML Seite (irgendwo im Text) ein CGI Script anstoßen, welches Daten (wie Datum Zeit IP-Adresse und eben entweder den Inhalt einer mitgelieferten Variabel oder einen Fixen Wert) aufzeichnen soll.
      Die Scriptsprache ist CGI selbst.
      Jetzt stellt sich noch die Frage ob das geht?
      Richard
      --- ENDE ---

      Hallo,

      Kann ich aus einer HTML Seite an ein CGI Script eine Variable übergeben?
      Du kannst ueber ein Formular oder ueber URL-Anhaengsel
      Parameter an serverseitige Skripte uebergeben.
      Fuer genauere Angaben muesstest Du die Frage etwas genauer
      stellen, z.B. solltest Du erwaehnen, welche serverseitige
      Skriptsprache denn bei Dir zum Einsatz kommt...
      Gruesse,
      Thomas

      1. Hallo,

        ich will [...] aus einer HTML Seite (irgendwo im Text) ein CGI Script anstoßen

        In statischen HTML-Dateien koenntest Du eine "Grafik"
        im Sinne eines "Web-Bugs" einbauen:
        <img src="/cgi-bin/spionage.cgi" alt="" width="1" height="1">
        Das Skript sollte dann aber tatsaechlich Bilddaten ausgeben,
        also z.B. den HTTP-Head "Content-type: image/gif" und als
        Inhalt ein transparentes 1x1 GIF.
        Nachteile:

        • Web-Bugs sind unbeliebt
        • manche Filter-Tools und Proxies (z.B. Web-Washer)
            filtern 1x1 Pixel grosse Bilder raus
        • neugierige Benutzer kommen Dir auf die Schliche
        • Das Bild wird normalerweise nur 1x vom Server geholt
            und danach aus dem Cache geholt.

        Wenn die HTML-Dateien auf dem Server geparst werden,
        z.B. mit PHP oder SSI, kannst Du das CGI-Skript auch
        als Include oder so einbinden. Dann sollte es
        z.B. einen leeren String oder einen HTML-Kommentar
        im Stil <!-- Spionage-CGI eingebunden --> zurueckgeben.

        mfg
        Thomas

        1. Hallo,
          nun das mit der Grafik, ist mir bei meiner Lösung auch in den Sinn gekommen (bin zwar erfinderisch, aber hier noch unerfahren...)

          Warum will ich das tun. Wir verwenden RED DOT und dieses erstellt die HTML Seite selber und ich habe kaum Einfluss wie die Seite erstellt wird bzw. kann den Header kaum beeinflussen. Sonst könnt ich ja ONCLICK verwenden, oder?

          Der Grund der ganzen Aktion ist eine Art Seitenzähler.
          Unsere EDV unterstützt das nicht und Red Dot bietet auch keine Möglichkeiten an.
          Ich will wissen, ob die zur Verfügung gestellten Seiten überhaupt benutzt werden.
          Wenn nicht, könnt ich mir sonst den Inhalt ja gleich sparen.

          Deshalb steht derzeit in allen Seiten folgender Text, wobei ich bei jeder Seite ein anderes CGI (andere Nummer (hier halt 9999)) aufrufe:
          <IMG src="http://intserver.firma.co.at/cgi-bin/Seitenzaehler-9999.cgi" width=0>

          Hier würde ich gerne Parameter übergeben und anhand der Parameter die Seiten unterscheiden können.
          Ich hab aber bis dato keine Möglichkeit gefunden wie ich das machen könnte.

          Ich habe ein existierendes CGI (CGI oder PERL ???) genommen und adaptiert, wobei ich mir sicher bin, dass ich hier auch noch einiges weglassen könnte, da ich ja keinerlei Ausgabe mache. Das CGI sieht wie folgt aus:
          -----------------------------------------------------------------
          #!/usr/bin/perl -w
          use strict;
          use CGI;
          use Time::Local;
          use IO;

          my $results = 'Zugriff_2004.txt';
          my ($sec,$min,$hour,$day,$month,$year) = 0;
          ($sec,$min,$hour,$day,$month,$year) = localtime(time);
          $month++;             # Monate starten bei 0
          $year += 1900;        # Perl-Jahre sind die Jahre seit 1900;
          my $date = "$day/$month/$year";
          my $Zeit = "$hour:$min:$sec";

          my $q=new CGI;
          print $q->header( "text/plain" );
          my ( $REMadr );
          $REMadr= $ENV{ "REMOTE_ADDR" };

          my $SEITE = "9999_Diverses";

          open(Richard, ">>$results");
          print Richard "$date ; $Zeit ; $REMadr ; $SEITE \x0d\x0a";
          close(Richard);
          -----------------------------------------------------------------

          Derzeit funktioniert es so, aber ich muss halt jede Seite eingens programmieren bzw. ein eigenes cgi erstellen.
          Jede Seite hat aber einen Nummer und diese würde ich gerne übergeben.
          Und hast du nun eine Idee, wie ich das mit Übergabe von Parameter besser lösen könnte?
          Richard
          --- ENDE ---

          1. Hallo Richard,

            Der Grund der ganzen Aktion ist eine Art Seitenzähler.
            Unsere EDV unterstützt das nicht und Red Dot bietet auch keine Möglichkeiten an.
            Ich will wissen, ob die zur Verfügung gestellten Seiten überhaupt benutzt werden.

            Das ganze Vorhaben finde ich ziemlich ... naja.

            Wenn man "Statistiken" will, sorgt man dafuer, dass der Webserver
            ein anstaendiges Logfile schreibt, und wertet dieses danach mit
            einem geeigneten Tool aus.
            So lassen sich ein paar Aussagen machen

            • welche Datei wie oft geladen wurde
            • wie sich die Anfragen ueber 24 Stunden und ueber die
                 Woche verteilen
              u.s.w.

            Alles andere ist Gebastel.

            Deshalb steht derzeit in allen Seiten folgender Text, wobei ich bei jeder Seite ein anderes CGI (andere Nummer (hier halt 9999)) aufrufe:
            <IMG src="http://intserver.firma.co.at/cgi-bin/Seitenzaehler-9999.cgi" width=0>

            Das width="0" wird wohl schon einige Browser davon abhalten, die Grafik
            ueberhaupt zu laden. Wie gesagt werden auch 1x1 Grafiken oft nicht geladen.

            Und hast du nun eine Idee, wie ich das mit Übergabe von Parameter besser lösen könnte?

            Grundsaetzlich sollte es auch mit Perl, das Du ja offenbar verwendest
            (was aber die von Dir gewaehlte Kategorie "CGI" _nicht_ aussagt)
            moeglich sein, ein Skript mit Parametern aufzurufen und dementsprechend
            in verschiedene "Zaehler-Text-Dateien" zu schreiben.
            /cgi-bin/seitenzaehler.cgi?p=9999
            => schreibt in die Datei 9999.txt

            Du solltest allerdings pruefen, ob der Parameter gueltig ist,
            also z.B. ob es eine Zahl im gewuenschten Bereich ist,
            und alle andern Aufrufe einfach missachten.

            Alternativ koenntest Du auch mit dem CGI-Skript eine Art
            Webserver-Logfile schreiben.
            Das heisst: Eine einzige Text-Datei, in welche Du alle
            Aufrufe reinschreibst. Wenn Du sie richtig aufbaust,
            kannst Du sie nachher mit den erwaehnten Tools
            "statistisch" auswerten.

            Wie Du das konkret programmierst, musst Du schon selbst wissen.
            Perl ist nicht mein Ding.

            Aber wie gesagt: Das ganze Gebastel halte ich fuer unsinnig.
            Sorgt einfach dafuer, dass der Webserver seine Logfiles schreibt,
            und wertet diese aus.

            Gruesse,

            Thomas

            P.S. Themenbereich und Subject habe ich mal angepasst.

            Bitte KEINE MAILS mit Fachfragen mehr schicken, sonst
            helfe ich Dir auch im Forum nicht mehr!

            1. Tut mir leid, wenn ich dir auf den Schlips getreten bin.
              Trotzdem danke für die Hilfe!
              Richard
              --- ENDE ---