[code]
Erstmal ein paar Anmerkungen zum Code.
Du solltest dir unbedingt angewöhnen, zumindest in der Entwicklungsphase, use strict zu verwenden und dir Warnungen einschalten.
Die Fehlersuch kann ohne länger dauern als das entwicklen eines Programmes.
##!/usr/local/bin/perl
Erzeugung der Html-Dateien
#------------------------------------------------------------------------------
use CGI qw(:all); # CGI forms etc
Weißt du was das macht?
Les dir mal die Dokumentation zu diesem Modul durch. du kanst damit alle HTML Ausgabe erzeugen. Gerade für Formulare Tabellen, aber auch den HTML Header ist dieses Modul das schweizer Taschenmesser.
$firmenname=param('firmenname');
$nummer=param('nummer');
$strasse=param('strasse');
$plz=param('plz');
$ort=param('ort');
$telefon=param('telefon');
$mobil=param('mobil');
$fax=param('fax');
$email=param('email');
my nicht vergessen.
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<TITLE>$firmenname</TITLE>\n";
print "<meta name='firmenname' value='$firmenname'>\n";
print "<meta name='strasse' value='$strasse'>\n";
print "<meta name='nummer' value='$nummer'>\n";
print "<meta name='plz' value='$plz'>\n";
print "<meta name='ort' value='$ort'>\n";
print "<meta name='telefon' value='$telefon'>\n";
print "<meta name='mobil' value='$mobil'>\n";
print "<meta name='fax' value='$fax'>\n";
print "<meta name='email' value='$email'>\n";print "</head>\n";
print "<body>\n";
Das könnte mit CGI in etwa so aussehen:
print CGI::header(),
CGI::start_html( {
-title => $firmenname,
-meta =>
{
'content-type' => "text/html; charset=iso-8859-1",
nummer => $nummer,
strasse => $strasse,
...
},
})
;
print "<form action='http://www.webserverurl/cgi-bin/speichern.pl'
method='POST' name='Formular'>\n";
CGI::start_form( .... )
print "<input type='hidden' name='ort' value='$ort'>\n";
print "<input type='hidden' name='telefon' value='$telefon'>\n";
print "<input type='hidden' name='strasse' value='$strasse'>\n";
print "<input type='hidden' name='mobil' value='$mobil'>\n";
print CGI::hidden(-name => 'ort'), CGI::hidden(-name => 'telefon') ...
Das Modul trägt automatisch die Werte ein.
// war ein Test mit den hidden fields, ging leider nicht.
print "<b>$firmenname</b><br>\n";
print "$strasse $nummer<br>\n";
print "$plz $ort<br>\n";
if ($mobil and $telefon and $fax)
{
Alles in allem solltest du die HTML Ausgabe vielleicht in einer Variabel sammeln und dann auf einmal ausgeben, dann kannst du sie auch in eine Datei schreiben.
Struppi.