如何使用Perl中的CGI :: Session处理Web会话?
发布时间:2020-12-16 06:24:55 所属栏目:大数据 来源:网络整理
导读:我使用CGI在Perl中创建Web应用程序.此应用程序实现模型视图控制器体系结构,并且系统在根目录中具有以下结构: -楷模 -views -controllers -index.pl 文件index.pl仅根据发送给它的某些参数包含相应的视图(使用函数param()): 这是我的index.pl: ###########
我使用CGI在Perl中创建Web应用程序.此应用程序实现模型视图控制器体系结构,并且系统在根目录中具有以下结构:
-楷模 文件index.pl仅根据发送给它的某些参数包含相应的视图(使用函数param()): 这是我的index.pl: ############################################### # INDEX.PL ############################################### #!/usr/bin/perl use Switch; use CGI qw/:standard/; use strict; use CGI::Session ( '-ip_match' ); my $session = CGI::Session->load(); print header,start_html; print " 正如您可以看到访问链接登录是否会显示登录表单,然后在提交电子邮件和密码后的登录表单中,login2.pl文件应该加载: login2.pl ############################################### LOGIN2.PL ############################################### #!/usr/bin/perl use CGI qw/:standard/; use lib qw(../../); use controllers::UserController; use CGI::Session ( '-ip_match' ); my $session; my $mail = param('mail'); my $password = param('password'); my $userc = new UserController(); my $user = $userc->findOneByMail($mail); if($mail ne '') { if($mail eq $user->getEmail() and $password eq $user->getPassword()) { $session = new CGI::Session(); $session->header(-location=>'index.exe'); } else { print header(-type=>"text/html",-location=>"index.exe?p=login"); } } elsif(param('action') eq 'logout') { $session = CGI::Session->load() or die CGI::Session->errstr; $session->delete(); print $session->header(-location=>'index.exe'); } ? login2.pl文件正确执行,当邮件和密码正确时,它应该创建一个新会话.但是,我不知道变量$session是否正确发送到index.pl,因为索引始终只显示不需要活动会话的链接. 解决方法
你为什么不看看
catalyst?
它是perl的MVC Web框架. 它为您完成所有繁琐的模型 – 视图 – 控制器耦合. 它也有很多插件,其中一个是 Session plugin GR,LDX (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |