perl-cgi를 처음 사용합니다. 나는 cgi-perl을 사용하여 세션을 만들고 쿠키를 설정하고있다. 하지만 세션의 가치를 검색 할 수 없습니다. 나는 또한 page1과 page2의 코드를 붙이고있다. 누구든지 코드를 편집하고 실수가 어디 있는지 말해 주실 수 있습니까? 나는 코드에 언급 된 디렉토리에 세션을 저장할 수 있으며 값도 존재한다.perl cgi 세션을 다른 페이지로 가져올 수 없습니다.
페이지 1 :
#!c:/perl/bin/perl.exe
use strict;
use CGI qw/:standard/;
use CGI::Session qw/-ip-match/;
use CGI;
use DBI;
use CGI::Cookie;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
print "created Session";
my $session = new CGI::Session(undef, undef, {Directory=>'c:/temp/session/'});
#setting session to expire in 1 hour
$session->expire("+1h");
#store something
$session->param("value1","yakub");
#write to disk
$session->flush();
my $cookie1 = new CGI::Cookie(-name=>'CGISESSID',-value=>$session->id);
print "Set-Cookie: $cookie1\n";
페이지 2는 :
#!c:/perl/bin/perl.exe
use CGI::Cookie;
use CGI::Session;
use CGI;
use DBI;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
my $cgi = new CGI;
#try to retrieve cookie.
$sid = $cgi->cookie('CGISESSID') || $cgi->param('CGISESSID') || undef;
$session = load CGI::Session(undef, $sid, {Directory=>'c:/temp/session/'});
$name = $session->param("value1");
print $name;
당신이 쿠키를 받습니까? 그것은 확인해야 할 첫 번째 것이 될 것입니다. – ikegami
예 쿠키도 받았습니다 – yakub
아니요. 브라우저에서 쿠키를 보았지만 브라우저에서 쿠키를 보지 못했습니다. – innaM