Variablen
Florian
- cgi
Ich habe ein CGI script, dass Formulareingaben in eine Datei speichert, da ich kein sendmail und kein smtp habe.
Das eingentliche Problem liegt dabei dass alle Eingaben im Formular in einer einzigen Variable sind.
Allerdings ist die Datei, die erstellt wird in ordnung.
Könnt ihr mir helfen????
Hier das Script:
#!/usr/bin/perl
$datfile="database.dat";
print "Content-type: text/html\n\n";
####### Formulardaten einlesen ###################
use CGI;
$query = new CGI;
$$_ = $query->param($_) foreach ($query->param());
if ($pw != $pwst) {
print "<html><head><title>FEHLER</title></head>\n";
print "<body bgcolor="navy" text="red" link="yellow" alink="lime" vlink="yellow"\n";
print "<h1><center>Es ist ein Fehler aufgetreten</center></h1>\n";
print "<br><br>";
print "Ihre Passwörter $pw und $pwst stimmen nicht überein! <br>\n";
print "<br><br><a href="javascript:history.back()">Zurück</a></body></html>\n";
};
print "<html><head><title>Vielen Dank für ihre Eingaben</title></head>\n";
print "<body bgcolor="navy" text="white" link="yellow" alink="lime" vlink="yellow"\n";
print "<h1><center>Vielen Dank für ihre Eingaben</center></h1><br>\n";
print "<br><br>";
print "Ihr Vhost Username = $vuname <br>\n";
print "Ihr Vhost = $vhost <br>\n";
print "Ihr Passwort = $pw\n <br>";
print "<br><br><a href="javascript:history.back()">Zurück</a></body></html>\n";
if ($action eq "start") {&start;}
open(DATA,">>$datfile");
print DATA "$vuname§$vhost§$pw§$pwst§\n";
close(DATA);
sub start {
open(INDEX,"$datfile");
@index = <INDEX>;
close(INDEX);
foreach (@index) {
$dzeil =$_;
chomp($dzeil);
($vuname,$vhost,$pw,$pwst) = split(/§/,$dzeil);
print "Ihr Vhost Username = $vuname\n";
print "Ihr Vhost = $vhost\n";
print "Ihr Passwort = $pw\n";
print "Ihre Passwortbestätigung = $pwst\n";
exit;
}
}
Servus
Das Script hab ich mir zwar nicht durchgeguckt,
aber zu einem Satz will ich stellung nehmen:
Das eingentliche Problem liegt dabei dass alle Eingaben
im Formular in einer einzigen Variable sind.
Das ist kein Problem.
Du sagst am Anfang des Scriptes:
use CGI;
Dann gibst Du jedem Eingabefeld einen Namen in HTML.
Beispiel:
Das Feld wo der Seinen Namen eingibt nennst Du "name"
Dann kannst DU dieses Feld in CGI so ansprechen:
$cgi->param("name")
Diesen kannst Du dann entsprechend verarbeiten,
(Also Datafile offnen, schreiben, schließen...)
Das geht mit Allen Variablen so.
Viel Spaß wünscht
Aquariophile
...der derzeit vollgas Happy ist :-))