Alain: cookie einlesen vom server -> re test script von selfhtml

Beitrag lesen

hi Struppi,

» »» eine datei(dessen wert->dateiname das cookie selbst ist) öffnen,welches den client angeblich eindeutig identifiziert?

Das m achst du doch bereits?

my $altCookie = $cgi->cookie(-name=>'VideoShop')||'unbekannt';
my $neuCookie = $cgi->cookie(-name=>'VideoShop',-value=>$cookie,-path=>'/');

mit cookie() kannst du einen Cookie setzen und lesen. Es besteht keine Notwendigkeit noch ein Modul zu laden.

Also dann gehts auch ohne use CGI::Cookie?

use CGI::Cookie;
my $cooks = $ENV{'UNIQUE_ID'};
my $cookie = new CGI::Cookie(-name=>"VideoShop", -value=>"$cooks", -path=>"/")||'';
my $cgi = new CGI;
print $cgi->header(-cookie=>$cookie);

Also so wie es läuft,läuft es,der besucher kriegt ein cookie auf meiner begrüssungsseite und wenn er auf meine shopseite kommt wird durch das erstellte cookie eine datei erzeugt,sofern er cookie aktiviert hatte,ansonsten mit seiner IP-useragent-das geht :)
Mich wunderts allerdings warum ich den durchblick mit cookies doch etwas verloren habe,unter anderem weil im net soviel wirres steht darüber.Meine frage diesbezüglich ist,wie kann man ein cookie einrichten,sodass man den user nächstesmal wieder erkennt und zum Bsp. auf der login seite die daten automatisch ins login feld einfügt,mit seinem cookie,welches er von meiner seite gekriegt hat?
Hab jetzt einiges versucht,aber das krieg ich nicht hin.Muss man da auch eine log sozusagen auswerten bzw. erstellen für cookies,auf dem server,um den client zu erkennen?Seine daten im cookie einlesen und aufs formular übertragen,geht das überhaubt?welche variablen braucht man da?
so:
use CGI::Cookie;
#my $altcookie = getcookie();
#my $id = $ENV{'HTTP_COOKIE'}||'';
my $cooks = $ENV{'UNIQUE_ID'};
$cooks = login();

my $altcookie = $cgi->cookie(-name=>'TLogin')||'unbekannt';
my $cookie = $cgi->cookie(-name=>'TLogin',
-value=>'$cooks',
-expires=>'+2d',
-path=>'/');

my $query = new CGI;
print $query->header(-cookie=>$cookie),
$cgi->start_html("Login-Cookie"),
$cgi->p("<b>Ihr letzter Besuchszeitpunkt dieser Seite war</b>: ", $altcookie),
$cgi->p("<b>Als neuer Besuchszeitpunkt wurde gespeichert</b>: ", $cookie),
$cgi->end_html();

sub login
{
my $username = CGI::param('username')||'';
my $password = CGI::param('password')||'';
my $cgi = new CGI;
$cooks = $cgi->cookie(cooks => $cooks, username => $username, password => $password);
return $cooks;
}
so gehts nicht :(
Gruss
Alain