webForumDet fria alternativet

Hämta värde från kakan

8 svar · 231 visningar · startad av nordan

nordanMedlem sedan juni 2000949 inlägg
#1

Tjena!
Håller på att göra lite cookies men jag lyckas inte hämta värden som jag skickar till kakan.
Så här se cookien ut
use CGI;
my $q = new CGI;
my $cookie = $q->cookie( -name =>"TEST",
-value =>"Cookies Rockar fett",
-domain => "localhost",
-expires =>"+2h",
);
print "Set-Cookie: $cookie\n";

Hur gör jag för att hämta upp värdet som jag har skickat till cookien :q
/
nordan

Peter_BMedlem sedan apr. 2000642 inlägg
#2

typ:

require CGI::Cookie;

%cookies = fetch CGI::Cookie;

foreach $cookie (keys %cookies) {
## sen kommer du åt saker och ting med $cookies{$cookie}->name och $cookies{$cookie}->value;

}

------------------
PeterSign v 2.3.36

nordanMedlem sedan juni 2000949 inlägg
#3

Tjena !!
Jag har gjort en test på en cookie men
jag får värdet + path i samma variabel hmmm.
Hur gör man för att få bort det?
Så här ser cokkien jag gjort ut.

#!/usr/bin/perl

use CGI;
use strict;
my $q = new CGI;

my $cookie = $q->cookie( -name =>"Cookies",
		   -value =>"TEST",
			-path => "/cgi",
		   -expires =>"+1h");

print "Set-Cookie: $cookie\n";
my %cookies = fetch CGI::Cookie;

print "Content-type: text/html\n\n";

foreach $cookie (keys  %cookies) {
$cookies{$cookie} =~ tr/%20/ /;
$cookies{$cookie} =~ tr/;/ /;
(my $namn, my $varde,) = split(/=/,$cookies{$cookie});

print "$namn"; 
print "$varde";

}

Så här ser den ut när jag hämtar den i webläseren.

Cookies
TEST path

Jag vill bara ha med
Cookies i $namn
Och TEST i $varde

/
nordan

nordanMedlem sedan juni 2000949 inlägg
#4

någon som kan detta då :q
/
nordan

Peter_BMedlem sedan apr. 2000642 inlägg
#5

du kan ju skippa pathen helt... fast om du måste ha den så kan du ju splitta igen, ta bort det sista värdet och sedan sätta ihop allt till en sträng igen.

det är iofs inte så snyggt, men det funkar...

------------------
PeterSign v 2.3.36

JojoxxMedlem sedan juni 20004 308 inlägg
#6

Du har missat en liten detalj:

my %cookies = fetch CGI::Cookie;
foreach $cookie (keys %cookies){
print $cookie.' innehåller '.$cookies{$cookie}->value.'<br>';
# Alltså
$namn=$cookie; # Namnet
$varde=$cookies{$cookie}->value # Värdet
}

------------------

/ J

nordanMedlem sedan juni 2000949 inlägg
#7

Tack Jojoxx & Peter_B

Funkar utmärkt nu!
Men....
Jag fick för mig att när man skall kunna ta bort en cookie så är det bara att skriva -1h istället för +1h men det funkar ju såklart inte på min maskin iaf.
Hur gör man detta nu då?

[Redigerat av nordan den 18 mar 2001]

nordanMedlem sedan juni 2000949 inlägg
#8

Vet ni hur man tar bort en cookie oxå?
/
nordan

Peter_BMedlem sedan apr. 2000642 inlägg
#9

jag har för mig att det är så man gör... ?

------------------
PeterSign v 2.3.36

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)