Dir wurde bereits im vorherigen Thread erklärt, dass man nachdem der Header gesendet wurde KEIN Cookie mehr versenden kann ...
print "Content-Type: text/html\n\n";
print "<html><head><title>login</title></head><body>"
Du hast den Header bereits im Hauptprogramm gesendet und kannst KEINEN weiteren Header mehr versenden.
sub cookie {
my $cookie = $login->cookie(
...
}
Aber trotzdem willst du einen versenden ...
Ein Code-Beispiel halte ich für keine gute Idee, aber es ist an sich ganz simpel.
Du gibst im Hauptprogramm KEINEN Header aus.
Gehe so vor:
1. Du überprüfst ob %usereingaben (bzw. $username, $userpasswort) undef sind.
1.1 wenn ja sendest du eine Sub in der der Header ist mit dem Login-Bereich.
2. du wertest nachdem die Usereingaben getätigt wurden aus.
2.1 ist der User in der DB, stimmt das Passwort überein usw.
3. wenn alles korrekt ist, sendest du die Sub die das Cookie versendet.
3.1 wenn nicht, gehe wieder zur login-seite.
Du hast so zwei Header (einmal für die Login-Seite und einmal für den Cookie-versand). Je nachdem sendest du die jeweilige Sub.