📄 sold.pl
字号:
$value=~tr/+//; $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $value =~ s/<!--(.|\n)*-->//g; $value =~ s/<//g; $value =~ s/>//g; $FORM{$name}=$value; } $id=$FORM{'inid'}; $pass=$FORM{'inpass'}; if(-s $temp){ open(TEMP,"$temp")||die "Can not open $temp\n\n"; while($line=<TEMP>){ if($line=~/$id/){ @templist=split(/:/,$line); if($id ne @templist[0]){ &error_id; }elsif($pass ne @templist[6]){ &error_pass; }else{ &re_change; } } } close(TEMP); }else{&back;}exit;}sub re_change {$HTML = <<SINOBOY;<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=gb2312"><TITLE>修改物品信息!!</TITLE></HEAD><BODY TEXT="#000000" BGCOLOR="#FFFFFF"><FORM ACTION="$cgi?repair" METHOD="POST"><CENTER><P><BR><BR><TABLE BORDER="1" WIDTH="37%"><TR><TD WIDTH="100%"><center><B>请您更改物品信息!!</B></center></TD></TR></TABLE><BR>您的物品:@templist[1] *****您的姓名:@templist[4] *****您的信箱:@templist[5]<br>您的密码:@templist[6] *****您的物品编号:@templist[0]<HR><INPUT TYPE="HIDDEN" NAME="sid" VALUE="@templist[0]"><INPUT TYPE="HIDDEN" NAME="sname" VALUE="@templist[1]">新旧程度:<SELECT NAME="old"> <OPTION SELECTED>@templist[2]</OPTION> <OPTION>非常旧</OPTION> <OPTION>非常旧</OPTION> <OPTION>半成新</OPTION> <OPTION>比较新</OPTION> <OPTION>非常新</OPTION> </SELECT> *****拟订价格:<INPUT TYPE="TEXT" NAME="price" VALUE="@templist[3]" SIZE="27" MAXLENGTH="8"><br><INPUT TYPE="HIDDEN" NAME="mname" VALUE="@templist[4]"><INPUT TYPE="HIDDEN" NAME="mail" VALUE="@templist[5]"><INPUT TYPE="HIDDEN" NAME="pass" VALUE="@templist[6]"><INPUT TYPE="SUBMIT" VALUE="提交申请!!"><INPUT TYPE="reset" VALUE="取消!!"></CENTER></FORM><center><a href="$cgi">返回</a></center></BODY></HTML>SINOBOY print "Content-type: text/html\n\n"; print $HTML; exit;}#第三页sub repair{ read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); @pairs=split(/&/,$buffer); foreach $pair(@pairs){ ($name,$value)=split(/=/,$pair); $name=~tr/+//; $name=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $value=~tr/+//; $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $value =~ s/<!--(.|\n)*-->//g; $value =~ s/<//g; $value =~ s/>//g; $FORM{$name}=$value; } if($FORM{'price'} ne "商议"&&$FORM{'price'}=~/\D+/g){&error_price;} else{ $newline=$FORM{'sid'}.":".$FORM{'sname'}.":".$FORM{'old'}.":".$FORM{'price'}.":".$FORM{'mname'}.":".$FORM{'mail'}.":".$FORM{'pass'}.":\n"; open(TEMP,"$temp")||die "Can not open $temp\n"; while($line=<TEMP>){ if($line=~/$FORM{'sid'}/&&$line=~/$FORM{'pass'}/){ $line=~s/$line/$newline/; @datt=(@datt,$line); }else{ @datt=(@datt,$line);} } close(TEMP); open(TEMP,">$data")||die "Can not open $data\n"; print TEMP @datt; close(TEMP); }unlink($temp);print "Content-type: text/html\n\n";print "<title>修改成功</title>";print "<br><br><center><h1>您已经成功修改数据!</h1></center><br><br><br>";print "<center><a href='$cgi'>返回</a></center>";}######################物主管理页结束####################################################搜索物品页面#############################第一页sub search{$HTML = <<SINOBOY;<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=gb2312"><TITLE>查找物品!!</TITLE></HEAD><BODY TEXT="#000000" BGCOLOR="#FFFFFF"><FORM ACTION="$cgi?result" METHOD="POST"><CENTER><P><BR><BR><TABLE BORDER="1" WIDTH="37%"><TR><TD WIDTH="100%"><center><B>请输入您要查找物品的关键字!!</B></center></TD></TR></TABLE><BR>请输入:<INPUT TYPE="TEXT" NAME="word" SIZE="27" MAXLENGTH="20"><BR><br><INPUT TYPE="SUBMIT" VALUE="提交申请!!"><INPUT TYPE="reset" VALUE="取消!!"></CENTER></FORM></BODY></HTML><br><br><br><br><br><center><a href="$cgi">返回</a></center>SINOBOY print "Content-type: text/html\n\n"; print $HTML; exit;}#显示搜索结果页sub result {read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});@pairs=split(/&/,$buffer);foreach $pair(@pairs){ ($name,$value)=split(/=/,$pair); $name=~tr/+//; $name=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $value=~tr/+//; $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $value =~ s/<!--(.|\n)*-->//g; $value =~ s/<//g; $value =~ s/>//g; $FORM{$name}=$value;}$HTML = <<SINOBOY;<HTML><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>查找结果</title></head><body TEXT="#000000" BGCOLOR="#FFFFFF"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="33%"><p align="right"><a href="$cgi?join">物品登记</a></td> <td width="33%"><p align="center"><a href="$cgi?manager">物主管理</a></td> <td width="34%"><p align="left"><a href="$cgi?search">查找物品</a></td> </tr> <tr> <td width="100%" colspan="3"><hr> </td> </tr></table><table border="0" width="100%" cellspacing="2" cellpadding="0"> <tr> <td width="20%" bgcolor="#A5AACD"><p align="center">物品编号</td> <td width="20%" bgcolor="#A5AACD"><p align="center">物品名称</td> <td width="20%" bgcolor="#A5AACD"><p align="center">新旧程度</td> <td width="20%" bgcolor="#A5AACD"><p align="center">拟订价格</td> <td width="20%" bgcolor="#A5AACD"><p align="center">物品主人</td> </tr></table>SINOBOYprint "Content-type: text/html\n\n";print $HTML;@temp=();$a=0;print "<table border='0' width='100%' cellspacing='2' cellpadding='0'>";open(DATA,"$data")||die "Can not open $data\n";while($line=<DATA>){ $line=~s/\+//g; @list=@temp; @list=split(/:/,$line); if(@list[1]=~/$FORM{'word'}/){ $a+=1;print "<tr>";print "<td width='20%'><p align='center'>@list[0]</td>\n";print "<td width='20%'><p align='center'>@list[1]</td>\n";print "<td width='20%'><p align='center'>@list[2]</td>\n";if(@list[3]=~/\D+/){print "<td width='20%'><p align='center'>@list[3]</td>\n";}else{print "<td width='20%'><p align='center'>¥@list[3]</td>\n";}print "<td width='20%'><p align='center'><a href='mailto:@list[5]'>@list[4]</a></td>\n";print " </tr>\n";}} close(DATA);$result=$a;print "</table><br><br><br>";print "<table border='0' width='100%' cellspacing='2' cellpadding='0'>";print "<tr><td width='100%' bgcolor='#AAAAAA'><p align='center'>一共找到$result条记录</td></tr>";print "</table>";print "<br><br><br><br>";print "<center><a href='$cgi'>返回</a></center>";print "</body>";print "</html>";exit;}#############################搜索页结束############################################################统计物品总数##################################sub count{$i=1;open(DATA,"$data")||die "Can not open $data\n";while($line=<DATA>){$i++; }}##########################当无任何物品时的返回页面#########################sub back{print "Content-type:text/html\n\n";print "<title>请返回!!</title>";print "<center><h1>非常抱歉!!</h1></center><br>";print "<center><h3>您确信现在有物品待售么?</h3></center><br>";}#############################错误处理部分##################################sub error{print "Content-type:text/html\n\n";print "<title>Error!!!</title>";print "<center><h1>非常抱歉!!</h1></center><br>";print "<center><h3>所有项均必须填写,请按“返回键”再次填写!!</h3></center><br>";}###价格格式错误###sub error_price{print "Content-type:text/html\n\n";print "<title>Error!!!</title>";print "<center><h1>非常抱歉!!</h1></center><br>";print "<center><h3>价格一栏必须为整数数字,或者“商议”!!</h3></center><br>";exit;}###MAIL地址不合法###sub error_mail{print "Content-type:text/html\n\n";print "<title>Error!!!</title>";print "<center><h1>非常抱歉!!</h1></center><br>";print "<center><h3>您的E-mail地址好象不合法!!</h3></center><br>";exit;}sub error_id{print "Content-type:text/html\n\n";print "<title>Error!!!</title>";print "<center><h1>非常抱歉!!</h1></center><br>";print "<center><h3>您的物品编号好象不正确!!</h3></center><br>";exit;}sub error_pass{print "Content-type:text/html\n\n";print "<title>Error!!!</title>";print "<center><h1>非常抱歉!!</h1></center><br>";print "<center><h3>您的密码好象不正确!!</h3></center><br>";exit;}################################错误处理部分结束##########################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -