Hallo,
Ich habe folgendes Problem:
... dir fehlt das Grundlagenwissen, wie die Browser-Server-Kommunikation, also HTTP, funktioniert.
Ich erstelle zur Zeit HTML-Seiten und benutze auch Perl-Scripts. Da die Seiten desöfteren Eingabezeilen und oder radio-buttons haben, welche mit submit-buttons abgesendet werden, habe ich ein Problem mit dem weiterkommen auf die nächste HTML-Seite...
Solltest du eigentlich nicht. Du hast also ein HTML-Dokument mit einem Formular, das beim Absenden ein Script auf dem Server aufruft. Das Script wird ausgeführt, tut irgendwas mehr oder weniger Sinnvolles mit den übermittelten Formulardaten, und schickt eine Antwort (Response) an den Browser zurück. Das ist der prinzipielle Ablauf.
Ich habe herausgefunden, dass wenn man am Ende des Perl-Programms folgendes(X1) schreibt, wird eben diese Seite als nächste Seite angezeigt.
X1:
print "Content-type: text/html\n\n";
print '<html>';
print '<body>';
print "<p>Danke.</p>";
print '</body>';
print '</html>';
__Ende__
Genau. Das ist die HTTP-Antwort deines Scripts. Eine Headerzeile, die den Typ der Antwort angibt (hier: ein HTML-Dokument), und dann eine Leerzeile und der Nutzinhalt.
Würde ich das allerdings jedesmal genau so machen, müsste ich scheinbar für jede Seite ein neues Perl-Script schreiben, welches den Quelltext der nächsten Seite beinhaltet...
Natürlich. Die Verarbeitung der übergebenen Daten ist doch vermutlich auch jedesmal anders, oder?
Hier meine Frage: Wäre es irgendwiemöglich, dass ich die nächste HTML-Seite als .html-Datei erstelle und anstatt den gesamten Quelltext ins Perl-Script zu schreiben, einfach den Name der .html-Datei angebe ?
Jein. Du kannst zwar auf eine andere Ressource weiterleiten, also ein reines statisches HTML-Dokument, indem du einen Location-Header sendest (PHP setzt dann automatisch auch den richtigen HTTP-Status, keine Ahnung, ob Perl das auch macht). Aber welchen Sinn hätte das? Dann wäre die Antwort auf jede Aktion, jedes Formular exakt identisch. Nicht wirklich, oder?
Danke im Vorraus,
Das 'r' gab's im Doppelpack wohl billiger?
So long,
Martin
--
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy