ich habe folgendes Problem. Mit dem unten aufgeführten Auszug aus einem Perl-Skript überprüfe ich den Loginvorgang. Nun möchte ich noch nach erfolgreichem Login einen Cookie mit der id setzten.
Aber wie mach ich das?
Hier der Code:
sub Login {
my $yes_members = ‚‘;
my $xusername = ‚‘;
my $xpassword = ‚‘;
my $id = ‚‘;
my $cookie = ‚‘;
ich habe folgendes Problem. Mit dem unten aufgeführten Auszug
aus einem Perl-Skript überprüfe ich den Loginvorgang. Nun
möchte ich noch nach erfolgreichem Login einen Cookie mit der
id setzten.
Aber wie mach ich das?
Vielleicht weil Deine Browser Konfiguration es nicht zuläßt?
Pack mal folgende Zeilen noch dazu:
-domain => „$ENV{‚SERVER‘}“,
-path => ‚/‘,
bzw.
-domain => ‚name.DeinesServers.de‘,
-path => ‚/cgi-bin‘,
Vielleicht weil Deine Browser Konfiguration es nicht zuläßt?
Pack mal folgende Zeilen noch dazu:
-domain => „$ENV{‚SERVER‘}“,
-path => ‚/‘,
bzw.
-domain => ‚name.DeinesServers.de‘,
-path => ‚/cgi-bin‘,
Hat beides nichts geändert
Woran siehst Du, dass er es nicht annimt?
Ich hab meinen Browser so eingestellt, das ich Bestätigen muss, wenn ein Cookie gesetzt werden soll. Und da kommt dann nix. Außerdem taucht auch kein Cookie in den Temporären INternetfiles auf.
Ich hab meinen Browser so eingestellt, das ich Bestätigen
muss, wenn ein Cookie gesetzt werden soll. Und da kommt dann
OK
Probier mal folgendes Testscript: Beim ersten Durchlauf sollte es nur die Zeile „Result:“ bringen. Beim 2ten Durchlauf das gesetzte Cookie TEST mit den Wertepaar „code“ und „testcookie“
#!/usr/bin/perl
use strict;
use CGI ':standard';
my $query = new CGI;
my %cookie = $query-\>cookie(-name =\> 'TEST');
my $setcookie = $query-\>cookie(-name=\>'TEST',
-value=\>{ code =\> 'testcookie' },
-domain =\> "$ENV{'SERVER'}",
-path =\> '/',
-expires =\> '+1h');
print $query-\>header(-expires=\>$expires,-cookie=\>$setcookie);
print 'Result: ';
foreach (keys %cookie) {
print "$\_ $cookie{$\_}
";
}
Probier mal folgendes Testscript: Beim ersten Durchlauf sollte
es nur die Zeile „Result:“ bringen. Beim 2ten Durchlauf das
gesetzte Cookie TEST mit den Wertepaar „code“ und „testcookie“
Wesentlicher Unterschied zu Deiner bisherigen Lösung:
cookie value wird als Hash an die „cookie“ Methode gereicht und (aber das sollte keine Rolle spielen) es wird die Objekt-orientierte Schreibweise für die Adressierung des CGI Moduls verwendet.
Du kannst Dir ja mal Spasses-halber den Unterschied im Output von Deiner um meiner Lösung anschauen - vielleicht offenbart sich ja was Interessantes.