Как передать сессию с одной страницы на другую? - PullRequest
1 голос
/ 14 октября 2019

Я пытаюсь не делать простой вход в систему, используя сеанс на Perl.

На моей странице входа в систему, которая работает нормально, она создает сеанс на "tmp"

use strict;
use CGI::Carp qw(fatalsToBrowser);
use CGI;
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
use CGI::Session ( '-ip_match' );
print "Content-type: text/html\n\n";

my $cgi = new CGI; 


#create a new session
my $session = new CGI::Session("driver:File", undef, {Directory=>'/tmp'});




#store something
$session->param("valid","yes");

#write to disk
$session->flush();

Но когда я пытаюсь получить сеанс на другой странице, я могу получить значения, сохраненные в сеансе, и он всегда создает новый. Может кто-нибудь объяснить мне, что я не так делаю;

#!/usr/bin/perl


use CGI::Carp qw(fatalsToBrowser);
use CGI;
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
use CGI::Session ( '-ip_match' );
print "Content-type: text/html\n\n";

my $session = CGI::Session->new or die CGI::Session->errstr;

print $session->header();

my $days = $session->param("valid");
print $days;
print "<br><br>";

if ($session->is_empty) {
  print "Empty";
} else {
  print "Good";
}
...