Übergabe einer Seite von HTML in ein CGI Script
Richard
- cgi
Kann ich aus einer HTML Seite an ein CGI Script eine Variable übergeben? Wenn ja, wie?
Danke!
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
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
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:
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
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 ---
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
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!
Tut mir leid, wenn ich dir auf den Schlips getreten bin.
Trotzdem danke für die Hilfe!
Richard
--- ENDE ---