Siechfred: Fragen zu Selfhtml-Form-Mailer?

Beitrag lesen

Hallo.

Darf das Script auf einer kommerziellen Seite kostenlos verwendet werden?

Huch, da bin ich überfragt, würde allerdings spontan ja sagen. Ansonsten frage den Autor des Beitrages, seine E-Mail ist ja angegeben.

Soll ich besser das Script in Perl oder PHP nehmen?

Was dir persönlich besser liegt.

Wie erweitere ich das Script so, dass bestimmte Formularfelder überprüft werden und der Anwender evtl. die Möglichkeit hat, seine Eingabe zu korrigieren?

Oje, das sind je gleich zwei Fragen auf einmal, und wirklich helfen kann ich dir nur bei Perl, in PHP bin ich noch nicht so fit. Eine einfache Prüfung kannst du mit Hilfe von Regulären Ausdrücken realisieren:

if(param('feld') =~ /^$muster$/) {
  my $feld = param('feld');
}
else {
  # Fehlerbehandlung
}

Das Problem mit der Korrektur von Eingaben kannst du über ein Affenformular in Verbindung mit Templates lösen. Du baust dir eine HTML-Seite, die dein Formular enthält, die relevanten Teile ersetzt du durch Templatevariablen:

--- Codeschnipsel formular.tmpl ---
<form action="script.pl" method="POST">
<input type="text" name="email" value="<TMPL_VAR NAME="EMAIL">">
<input type="text" name="name" value="<TMPL_VAR NAME="NAME">">
--- Ende Codeschnipsel ---

Die Ausgabe steuerst du wie folgt:

sub TMPLOutput {
  use HTML::Template;
  my $template = HTML::Template->new(filename => 'formular.tmpl');
  $template->param( EMAIL => $_[0],
                    NAME  => $_[1]
                  );
  print "Content-Type: text/html\n\n", $template->output;
  exit 0;
}

Die sub Fehler rufst du in meinem Beispiel wie folgt auf:

TMPLOutput("eingegebene E-Mail","eingegebener Name");

Du kannst die Subroutine auch für das erstmalige Anzeigen des Formulars verwenden:

TMPLOutput("Bitte eine E-Mail angeben","Bitte geben Sie Ihren Namen an");

Die Doku zum Modul findest du hier:
http://search.cpan.org/~samtregar/HTML-Template-2.7/Template.pm

Freundschaft!
Siechfred

--
Wissen bedeutet zu wissen, wo es steht.