Hallo!
Ich bie ein begeisterter Fan von "selfhtml.de" - die Seite ist echt große Hilfe für alle, die sich für Web-Seiten interessieren. Da ich auch dazu gehöre und selber Internet Seiten gestalten will, habe ich einen Web-Designer Kurs absolviert. Der Kurs war schon ok, aber es hat an einiges gefehlt... und da beginnt mein Problem:
Im Kurs ist nicht genau erklärt worden, wie CGI funktionert, wie Daten aus einem Kontakrformular ausgelesen und weitergesendet werden. Jetzt habe ich mir eine eigene Web-Seite gemacht (www.thewebandy.de) natürlich mit einem Kontaktformular - das aber nicht funktionsfähig ist.
Auf selfHTML habe ich den CGI-Script gefunden, weiss aber nicht genau was und wie ich zu ändern habe... Kann mir jemand dabei kurz helfen?
Ich kopiere hier den Script ein:
#!/usr/bin/perl
-------> Individuelle Parameter des Skriptes - bitte anpassen!
--> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/lib/sendmail";
--> Ziel-Mailadresse, an die gesendet werden soll:
$mailto ='thewebandy@googlemail.com'; - das ist die e-mail Adresse, wo der Inhalt gesendet werden soll - richtig so ??
-------> Modul für CGI-Scripts einbinden:
use CGI;
-------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:
$query = new CGI;
@names = $query->param;
-------> interne Daten aus den erwarteten hidden-Feldern auslesen:
$delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value
$datei/resultpage.html = $query->param('return'); # ---> URL für Dankeseite - meine "Dankeschön"-Seite / oder soll ich es mit http://www.thewebandy.de/datei/resultpage.html angeben ?
$subject = $query->param('subject'); # ---> E-Mail-Subject
-------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln
VERHINDERT sonst möglichen MISSBRAUCH des Skripts
$subject =~ s/\s/ /g;
-------> Text der E-Mail aus den Formulardaten ermitteln:
$mailtext = "";
foreach(@names) {
$name = $_;
@values = "";
@values = $query->param($name);
if($name ne "return" && $name ne "subject" && $name ne "delimiter") {
foreach $value (@values) {
$mailtext = $mailtext.$name;
$mailtext = $mailtext.$delimiter;
$mailtext = $mailtext.$value."\n";
}
}
}
-------> E-Mail versenden:
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n"; - muss ich da nochmal mailto:thewebandy@googlemail.com eingeben ???
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);
-------> Dankeseite an Browser senden:
print "Location: $datei/resultpage.html\n\n"; - nochmal angeben so, oder mit "http://www.thewebandy.de/datei/resultpage.html" ?
Sind diese Änderungen ok? Muss noch was geändert werden???
Ich bedanke mich für jede Hilfe!
Webandy
András Nagy[/code]