Struppi: cookie wieder

Beitrag lesen

#!/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.