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 程序的单步执行,断点用 ...
最新文章
- 【机器学习】KNN算法代码练习
- 【学术相关】IEEE TBD, 这个Trans刚被SCI收录,预计首个IF4
- 四年级计算机期末质量分析,信息技术四年级(下)质量分析——刘千慧
- 21天让你成为Horizon View高手—Day20:证书管理
- pomelo获取客户端IP
- TiledMap的使用
- 高中计算机学业水平测试知识点总结,高中生物学业水平测试知识点总结
- 解决雷神笔记本风扇声音太响太吵问题
- Pale Transformer: A General Vision Transformer Backbone with Pale-Shaped Attention
- PESSIMISTIC_READ PESSIMISTIC_WRITE 与 共享锁 排它锁
- 【JVM技术专题】深入分析CG管理和原理查缺补漏「番外篇」
- 滚轮每次滚动距离是一致的吗_「超硬核科普」鼠标的发展历史,中国人发明的鼠标滚轮...
- 甲级测绘资质审批常见问题-甲级测绘资质如何办理?
- 证明求最短路径问题具有最优子结构(动态规划)
- linux下制作linux系统的安装U盘
- android获取各运营商信号,一篇关于 Android 获取运营商的全面笔记
- K3root刷217,rk3128刷机工具
- 【字体分享】各种角度都不一样?带你走进意瞑字的世界
- Android RxJava操作符的学习---条件 / 布尔操作符
- JAVA中的方法重载(Overloading)和方法重写(Overriding)
热门文章
- 用a卡还是n卡_谁是玩家最爱的显卡?N卡优势太大,GTX 1060秒A卡全家
- ajax传递json对象 php,PHP传递通过AJAX传递JSON对象数组到前台,前台解析,遍历JSON...
- mysql5.7 存储二进制_MySQL5.7 基于二进制包的安装
- 标准C字符和字符串函数
- 三年级能用计算机吗,三年级上册第6课:我用计算机写作文
- [译] 手摸手教你如何轻松发布私有 App
- MySQL8.0二进制免编译部署过程详解(二)
- 笔者使用macOS的一些经验点滴记录1
- Oracle 12C R2-新特性-PDB的磁盘I/O(IOPS,MBPS)资源管理
- kafka producer写入超时