![]() |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
Speichern von FormularinhaltenOft ist es wünschenswert, daß ein Benutzer standardisierte Mitteilungen wie z.B. Bestellungen in ein Online-Formular eingeben kann, das dann z.B. per E-Mail oder per Fax übermittelt wird. Hier müssen Sie zunächst das Formular als ganz normales HTML-Dokument erstellen. Hierbei geben Sie den einzelnen Feldern Namen, damit Sie die vom Abrufer getätigten Eingaben über die Feldnamen in Form von Platzhaltern einfügen können. Im Quelltext des Formulars geben Sie an, was nach dem Absenden des Formulars geschehen soll. Das steht dann in einem sog. Script, das Sie in Ihrem Verzeichnis /cgi-local speichern können. Hier kann zweckmäßigerweise der Inhalt eines solchen Formulars in ein E-Mail gepackt und versandt werden. Mit Scripts sollten Sie sich nur dann beschäftigen, wenn Sie schon etwas Programmiererfahrung mitbringen, oder wenn Sie viel Zeit haben, um zu experimentieren. Ein Beispiel Sie möchten Ihren Kunden erlauben, über Ihr WWW-Programm eine Bestellung abzusenden, deren Daten dann per EMail an Sie weitergegeben werden sollen. Sehen Sie sich zunächst das Formular an (den HTML-Quelltext können Sie sich ebenfalls mit Ihrem Browser anzeigen lassen, um den grundsätzlichen Aufbau des Formulars kennenzulernen). Über die Anweisung <FORM METHOD=POST ACTION="//www-service.com/cgi-local/perl-com.pl">wird festgelegt, daß beim Absenden des Formulars das Script perl-com.pl ausgeführt werden soll. In diesem Script werden folgende Aufgaben ausgeführt:
#!/usr/local/bin/perl # Name-Werte-Paare mittels "cgi-lib.pl" in # einen Perl-Array namens "puffer" schreiben : require 'cgi-lib.pl'; &ReadParse (*puffer); $SENDMAIL="/usr/lib/sendmail -t"; print "Content-Type: text/html\n\n"; print "<HTML>\n<HEAD>\n"; sub checkdata { if ( ($puffer{'company'} eq '') || ($puffer{'add1'} eq '') || ($puffer{'zip'} eq '') || ($puffer{'city'} eq '') || ($puffer{'contact'} eq '') || ($puffer{'email'} eq '') ) { print "<TITLE>Fehler bei der Bestellung</TITLE>\n</HEAD>\n"; print "<BODY>\n"; print "<HR>\n"; if ($puffer{'company'} eq '') {print "Bitte prüfen Sie Ihren eingegebenen Firmennamen\n";} if ($puffer{'add1'} eq '') {print "Bitte prüfen Sie Ihre eingegebene Adresse\n";} if ($puffer{'zip'} eq '') {print "Bitte prüfen Sie Ihre eingegebene PLZ\n";} if ($puffer{'city'} eq '') {print "Bitte prüfen Sie Ihren eingegebenen Wohnort\n";} if ($puffer{'contact'} eq '') {print "Bitte prüfen Sie Ihren eingegebenen Ansprechpartner\n";} if ($puffer{'email'} eq '') {print "Bitte prüfen Sie Ihre eingegebene E-Mail-Adresse\n";} print <<EOF; <HR><I>Ihr WWW-Service-Team</I><BR> <A HREF="http://www.www-service.com/index.htm">Zurück zur Homepage</A><BR> </BODY> </HTML> EOF exit (0); } } sub mailit { open(SENDMAIL,"|$SENDMAIL") || die "Fehler beim Versenden der Bestellung\n"; print SENDMAIL "To: <$puffer{'mail'}>\n"; print SENDMAIL "Subject: Katalog-Bestellung\n"; print SENDMAIL "From: $puffer{'contact'} <$puffer{'email'}>\n"; print SENDMAIL<<EOF; Bestellung $puffer{'company'} $puffer{'add1'} $puffer{'contact'} $puffer{'zip'} $puffer{'city'} Telefon: $puffer{'area1'} $puffer{'phone1'} Telefax: $puffer{'area2'} $puffer{'phone2'} E-Mail: $puffer{'email'} EOF close (SENDMAIL); } sub finmsg { print<<EOF; <TITLE>Vielen Dank!</TITLE> </HEAD> <BODY> <H1>Vielen Dank für Ihre Bestellung<BR> Sie erhalten eine Auftragsbestätigung per E-Mail</H1><BR> <A HREF="http://www.www-service.com/index.htm">Zurück zur Homepage</A><BR> </BODY> </HTML> EOF } &checkdata; &mailit; &finmsg; exit (0); Sie können dieses Script natürlich hier downloaden. WICHTIG: Wenn Sie Scripts in Ihr Verzeichnis /cgi-local übermitteln, müssen Sie in Ihrem FTP-Programm unbedingt die Übertragungsart auf ASCII setzen, da UNIX sonst nicht mit dem Zeilenumbruch zurecht kommt und das Script nicht aufgeführt wird. Formularinhalte faxen
|
|||
![]() ![]() |
|