Hi Pitt,
ich habe eine html-seite wo ich den namen von einer person ermittle, danach kann die person auf einen knopf drücken und kommt auf eine nächtste html-seite
... die selbst bereits eine serverseitige (CGI-)Anwendung sein muß.
wo die person die restlichen daten eintragen kann.
jetzt kann die person auf ein submit-button klicken und ein cgi-programm wird aus geführt.
Yep, das ist jetzt die zweite CGI-Anwendung innerhalb Deiner Verarbeitung.
das cgi-programm liest die daten aus
Äh, ja. Aber nicht so, wie Du das tust, sondern über die CGI-Schnittstelle.
und speichert sie dann auf einer neuen html-seite.
Streiche "auf". Mache Dir bewußt, was CGI ist. (Nein, CGI ist _keine_ Programmiersprache.)
aber das cgi-programm liest die daten nur aus der zweiten html-seite,
Schon das darf es nicht tun.
das cgi-programm sollte aber auch die erste seite mit dem namen auslesen.
Es existiert keine "erste Seite".
open(HTML, ">>Neue_Seite.html");
Und wenn zwei Besucher gleichzeitig Deinen Dialog-Pfad durchlaufen, dann schreiben sie hier gleichzeitig in dieselbe Datei => Chaos in Laos. Nein, so geht das nicht.
Genau um so etwas zu verhindern, gibt es CGI-Parameter.
print HTML cgi->param('name');
print HTML cgi->param('daten');
Die CGI-Parameter, welche Du korrekterweise eingelesen hast, müssen schon von der ersten CGI-Anwendung selbst wiederum in einen Link, ein Formular, ein was-auch-immer eingetragen werden, mit dem Du von der ersten zur zweiten Seite navigierst.
Dann kann die zweite CGI-Anwendung diese Werte ebenfalls über die CGI-Schnittstelle wieder einlesen.
Viele Grüße
Michael
T'Pol: I apologize if I acted inappropriately.
V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
(sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
=> http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.