#以下为登录页面代码(只为测试,代码很简单):
#以下代码用来登录验证:
# 当用户名和密码都匹配的时候,开始跳转到新页面:
第一次写Perl,有很多不足之处,请大家批评指正,欢迎大家提出意见和建议!^_^...
- #!C:/perl/bin/perl.exe
- # fileName:index.cgi
- use warnings;
- use strict;
- use CGI;
- # 都是静态Html代码,就不注释了
- print "Content-type:text/html/n/n";
- print "<link rel='stylesheet' href='ey.css' type='text/css' />";
- print "<html>";
- print "<head><title>登录测试页面</title>";
- print "<meta http-equiv='Content-Type' content='text/html; charset=GB2312' />";
- print "<form action='auth.cgi' method='post'>";
- print "<table align='center' width='600' border='0' cellspacing='0' cellpadding='0' class='kuang'>";
- print "<tr><td height='30' align='right'>UserName:";
- print "<td align='left'><input type='text' name='username' size='30'/></td></tr>";
- print "<tr><td height='30' align='right'>Password:</td>";
- print "<td align='left'><input type='Password' name='password' size='30'/></td></tr>";
- print "<tr>";
- print "<td height='50' colspan='2' align='center'><input type='submit' value='login' /> <input type='reset' value='reset' /></td>";
- print "</tr>";
- print "</table>";
- print "</form>";
-
- #!C:/perl/bin/perl.exe
- # fileName:auth.cgi
- use warnings;
- use strict;
- use CGI;
- use CGI::Session;
- #需要保存到session中的信息(从前一个页面发来的用户名和密码数据);
- my $username = param('username');
- my $pwd = param('password');
- my $cgi = new CGI;
- my $session= new CGI::Session("driver:file",$cgi,{directory=>'/tmp'});
- #设置或构造一个cookie,标记是sessionid;
- my $cookie=$cgi->cookie(CGISESSID=>$session->id);
- #下面的userSessionId和userSessionPwd可以随便设置;
- $session->param("userSessionId",$username);
- $session->param("userSessionPwd",$pwd);
- #将session值输入变量中
- my $userId = $session->param('uname');
- my $userPwd = $session->param('password');
- # 此处开始页面跳转,因为没有涉及数据库,所以只用静态字符串做对比;
- # 我也不知道perl比较字符串的函数是哪个,就选择了另外一个函数,如果知道的,希望能回帖告知;
- if( index($userId,'admin')!=-1 && index($userPwd,'admin123')!=-1 ){
- print "Location:success.cgi/n/n";
- exit;
- }else{
- # 以下这句是关键,上面的条件满足时不用这句,否则报500错误 /
- # 当条件不满足时,输出一个‘bad’标志则需要这句话print "Content-type:text/html/n/n";
- print "Content-type:text/html/n/n";
- print "bad";
- }
- exit;
# 当用户名和密码都匹配的时候,开始跳转到新页面:
- #!C:/perl/bin/perl.exe
- #fileName:success.cgi
- use warnings;
- use strict;
- use CGI;
- use CGI::Session;
- my $cgi = new CGI;
- my $session= new CGI::Session("driver:file",$cgi,{directory=>'/tmp'});
- print $cgi->header(-charset=>'GB2312');
- # 输出从Session中获得的值;
- print $session->param('userSessionId');
- print $session->param('userSessionPwd');
- exit;