#!/usr/bin/perl
Du hast use warnings vwergessen
use strict;
use CGI;my $login = new CGI;
my $username = $login->param("username");
my $passwort = $login->param("passwort");print "Content-Type: text/html\n\n";
print "<html><head><title>login</title></head><body>"
Wenn du das CGI Modul schon einbindest, warum verwendest du es nicht?
Ich will jetzt nicht unhoeflich sein aber wenn man mir den code vielleicht grob umschreiben wuerde so das es klappt also so wie er sein muss wuerd ich vielleicht besser durchblicken?
In etwa so:
#!/usr/bin/perl
use CGI;
my $output = '';
my $action = CGI::param('action') || 'login';
my $cookie;
doLogin() if($action eq 'login');
print CGI::header(-cookie => $cookie), $output, CGI::end_html();
sub doLogin{
if(checkLogin()) {
$output .= CGI::start_html(-title=> 'Login')
. CGI::p("Bitte loggen Sie sich ein:")
. CGI::start_form()
. CGI::textfield(-name=> 'username')
. CGI::textfield(-name => 'passwort')
. CGI::submit(-value => 'Login')
. CGI::end_form()
;
} else {
$output .= CGI::start_html(-title=> 'Hallo'), CGI::p('Du bist eingeloggt');
}
}
sub checkLogin{
if(!CGI::param('passwort')) {
# kein Login
return 1;
}
$cookie = CGI::cookie(-name => 'id', -value => 'bla');
0;
}
Struppi.