Cookies speichern und lesen
TomC
- perl
0 Cheatah
Eine Frage, die in Abwandlungen schon öfter, so aber noch nicht gestellt wurde:
Kann ich mit Perl einen Cookie schreiben im gleichen Atemzug wieder auslesen?
Bisher habe ich bei meinen Versuchen immer nur die Version des Cookies vor dem Speichern gesehen.
Geht mein Vorhaben prinzipiell nicht (da Cookies erst gesetzt werden, wenn der Haeder geschrieben wird und damit alles schon zu spät ist) oder mache ich einen logischen Fehler?
Hierzu das etwas abgewandelte Script aus SELFHTML:
#!C:/Programme/Apache Group/Apache2/Perl/bin/perl.exe -w
use strict;
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);
my $CTIME_String = localtime(time);
my $altCookie = $cgi->cookie(-name=>'letzter_Besuch');
my $neuCookie = $cgi->cookie(-name=>'letzter_Besuch',
-value=>$CTIME_String,
-expires=>'+3M',
-path=>'/');
print $cgi->header(-cookie=>$neuCookie);
print $cgi->start_html("Cookie-Test");
print $cgi->p("<b>Ihr letzter Besuchszeitpunkt dieser Seite war</b>: ", $altCookie || 'unbekannt');
$altCookie = $cgi->cookie(-name=>'letzter_Besuch');
print $cgi->p("<b>Als neuer Besuchszeitpunkt wurde gespeichert</b>: ", $CTIME_String);
print $cgi->p("<b>Neuer Wert des Cookies</b>: ", $altCookie);
print $cgi->end_html();
Wer kann mir sagen, wo mein Denkfehler ist?
Dank von TomC
Hi,
Kann ich mit Perl einen Cookie schreiben im gleichen Atemzug wieder auslesen?
hat der Client den Cookie gesetzt und an den Server zurückgesendet, noch bevor er die Ausgabe des serverseitigen Scripts erhalten hat? Nein, vermutlich nicht :-)
Bisher habe ich bei meinen Versuchen immer nur die Version des Cookies vor dem Speichern gesehen.
Ja, das ist richtig. Client und Server sind zwei unabhängige Universen; sei Dir immer dessen bewusst, wo Du Dich zu welchem Zeitpunkt "befindest".
Geht mein Vorhaben prinzipiell nicht (da Cookies erst gesetzt werden, wenn der Haeder geschrieben wird und damit alles schon zu spät ist)
Präzise.
Cheatah