perl cgi session php,如何使用Perl中的CGI :: Session处理Web会话?
我使用CGI在Perl中创建Web应用程序.此应用程序实现模型视图控制器体系结构,并且系统在根目录中具有以下结构:
-楷模
-views
-controllers
-index.pl
文件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 "
Menu";
if(!$session->is_empty){
#links to other files to which only logged users have access;
}
print '
Login';
if(defined(param('p'))){
switch(param('p')){ }
##login form in html, which sends param('login') back to index.pl
case 'login' { require('views/login/login.pl'); }
else{ print "Page not found"; }
}
if(defined( param('login'))){
##if param is defined we execute login2.pl
require ('views/login/login2.pl');
}
正如您可以看到访问链接登录是否会显示登录表单,然后在提交电子邮件和密码后的登录表单中,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,因为索引始终只显示不需要活动会话的链接.
我遇到的另一个问题是我无法删除会话.我尝试在index.pl文件中创建一个变量$session,只是为了查看条件是否有效,然后我猜想用以下命令将其删除:
$会话而>删除();
$会话而>冲洗();
但会议似乎仍然存在.
perl cgi session php,如何使用Perl中的CGI :: Session处理Web会话?相关推荐
- PHP中启动session的函数是,PHP中,启动 session 的函数是
PHP中,启动 session 的函数是 答:session_start() 隧道长度在300m以下可不布置大避车洞 答:√ 为了使长链脂酰基从胞浆转运到线粒体内进行脂酸的β-氧化,所需要的载体为 答 ...
- python中session的使用方法_python中requests库session对象的妙用详解
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- php session和cookie的区别,细说cookie和session的区别
做网站开发有一段时间了,而自己却发现对于cookie和session的基础理解存在不足,因此花了2天时间好好学习了一下cookie和session的特性,给大家分享一下 1. 为什么需要cookie和 ...
- php中perl配置,配置Apache及运行perl,php
//检测配置文件语法 # httpd –t # apachectl configtest //查看编译配置参数 # apachectl –V //查看已经编译的模块 # apachectl –l // ...
- [Perl系列—] 1. 清空目录及目录中的所有文件
Perl 删除单个文件和目录 Perl 删除单个文件的语法是: unlink 举例来说, 删除 D 盘 temp 目录下的 test.txt 的写法就是: unlink "D:/temp/t ...
- 在apache中运行 cgi程序
cgi 就是网站中各种后台的程序,该程序可以通过网页运行,cgi可以通过C编写,也可以通过shell,python编写 如何在apache中运行各种cgi程序,例如shell perl等程序 1.在a ...
- Go中的CGI包使用
Go中包含有CGI包,net/http/cgi,这篇文章就是来阅读和使用这个包.关于cgi的参数和运行,可以看这篇文章:CGI的一些知识点 CGI包阅读 cgi包的存在就告诉我们一件事情,cgi服务端 ...
- web存储中cookie、session区别
http协议是一种无状态的协议,浏览器对服务器的每一次请求都是独立的.为了使得web能够产生一些动态信息,就需要保存"状态",而cookie和session机制就是为了解决http ...
- php中的数据库操作和字符串操作session与cookie操作,php中的数据库操作和字符串操作session与cookie操作...
PHP面试干货 1.进程和线程 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一 ...
- perl环境配置以及Eclipse安装perl开发插件
简介: 这篇文章将详细介绍 EPIC 组件的安装,EPIC 编辑环境,调试运行环境,着重介绍如何使用 EPIC 来快速.简便.准确地调试 Perl 语言程序,包括对于 Perl 程序的单步执行,断点用 ...
最新文章
- zeroc-ice的全双工通信策略
- 爬虫python代码广告_零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(代码篇)...
- 2013 ACM/ICPC Asia Regional Changsha Online - C
- 使用Python获取Excel文件中单元格公式的计算结果
- 力扣203,移除链表元素(JavaScript)
- Leetcode每日一题:381.insert-delete-getrandom-o1-duplicates-allowed(时间插入、删除和获取随机元素-允许重复)
- IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错
- 屏保壁纸引发血案,三星手机瞬间变砖
- 【xcode 插件】快速插件安装
- ad采样频率_AD转换器是什么?快来一起学习一下
- 为22-29岁的人解释一下什么叫工作(转)
- WEB环境下打印报表的CRYSTAL的解决方案
- Codeforces 988D Points and Powers of Two ( 思维 || 二的幂特点 )
- 步步为营100-开发前的思考
- 联发科被动“卡位”内地集成电路市场 剑指老对手展讯
- 图解大数据 | Hive与HBase详解@海量数据库查询
- 电机扭矩计算机公式由来T=9950*P/
- Silverlight游戏设计(Game Design):(十四)练习用游戏素材资源的获取及相关工具使用心得...
- Gmail服务器拒绝发送邮件,向Gmail发送邮件被退信,其他均正常,请协助,谢谢大家...
- 九宫格拼图,避免不可还原
热门文章
- log 1用计算机怎么打开,科学计算器按键功能说明 微软附件计算器的打开方式
- dede文章异步ajax加载,织梦DedeCMS列表“加载更多”“无限下拉”Ajax加载使用方法...
- HALCON: 本地程序函数(.hdev或.dev)、HDevelop函数文件或外部函数(.hdvp)及库函数(.hdpl)使用详解
- PyTorch: 各种图像格式相互转化
- Python+OpenCV:傅里叶变换(Fourier Transform)
- php数据库find(),db_find()
- stream场景用法总结
- multimodel_forms 插件用法
- Java微服务:这个画饼是个谎言,但你却不能忽视它
- 英特尔与Verizon合力推动5G技术 新网络传输革命即将来临