?? datalib.pl
字號:
#!/usr/bin/perl
# 例如帳號是否重復,過濾或保留字段
sub firstcheck
{
@res = split(/\,/,$reserved);
foreach $r(@res)
{
$r = "\L$r\E";
if ($input{"username"} eq $r)
{ $ehint.="你不能使用此帳號!<br>"; }
}
if ($ehint eq "")
{
$db = "$datapath/$userdb";
tie(%cat, 'AnyDBM_File', $db , $flags, 0666) || &error("不能打開數據庫-- 用戶數據庫");
if ($cat{$input{"username"}})
{
$ehint.="此用戶帳號已經有人申請了<br>";
}
untie(%cat);
}
}
# 用于檢測郵件是否唯一,或者網址是否唯一 : 不和非本用戶的相同
sub secondcheck
{
}
#檢測字段長度,合法性,是否唯一
sub checkfield
{
for ($i=0;$i<$field_count;$i++)
{
$curtext = $input{"$field_list[$i]"};
@myattr=split(/,/,$field_attr{$i});
$mytype = $myattr[2];
$myminl = $myattr[0];
$mymaxl = $myattr[1];
$mytexttype =$myattr[3];
$myonly = $myattr[4];
# text,textarea,radio,checkbox,select,password
if ( $mytype eq "text")
{
#長度檢測
if (( length($curtext)<$myminl) or (length($curtext)>$mymaxl) )
{
if ($curtext eq "")
{ $ehint.="$field_name[$i]沒有填寫!<br>"; }
else
{ $ehint.="$field_name[$i]的長度范圍是$myminl\-$mymaxl<br>"; }
}
else
{
#是否為郵件,網址
if ($mytexttype eq "1" )
{
if ($curtext!~ /\w+\@\w+\.\w+/) {$ehint.="輸入了一個錯誤的電子郵件<br>";}
}
elsif ($mytexttype eq "2" )
{
if (!($curtext =~ /http:\/\/.*\..*/))
{ $ehint.="輸入了一個錯誤的網址!<br>"; }
}
elsif ($mytexttype eq "3" )
{
if ($curtext!~ /\w/) {$ehint.="$field_name[$i]只能為字母,數字或\_<br>";}
}
else {}
}
}
elsif ($mytype eq "hidden")
{}
elsif ($mytype eq "none")
{}
elsif ($mytype eq "textarea")
{
if (( length($curtext)<$myminl) or (length($curtext)>$mymaxl) )
{
if ($curtext eq "")
{ $ehint.="$field_name[$i] 沒有填寫!<br>"; }
else
{ $ehint.="$field_name[$i]的長度范圍是$myminl\-$mymaxl<br>"; }
}
}
elsif ($mytype eq "radio")
{
%mysel = eval("%".$field_list[$i]."_sel");
@myallvalue =values(%mysel);
$nsel =0;
while(($myvalue,$mydisplay)= each(%mysel))
{
if ( $myvalue eq $curtext) {$nsel=1;}
}
if ($nsel=0) {$curtext=$myallvalue[0]}
}
elsif ($mytype eq "checkbox")
{
$myvalue=$myattr[5];
if ($curtext ne $myvalue) {$curtext="";}
}
elsif ($mytype eq "select")
{
%mysel = eval("%".$field_list[$i]."_sel");
@myallvalue =values(%mysel);
$nsel =0;
while(($myvalue,$mydisplay)= each(%mysel))
{
if ( $myvalue eq $curtext) {$nsel=1;}
}
if ($nsel=0) {$curtext=$myallvalue[0]}
}
elsif ( ($mytype eq "password") or ($mytype eq "password1") )
{
if (( length($curtext)<$myminl) or (length($curtext)>$mymaxl) )
{
if ($curtext eq "")
{ $ehint.="$field_name[$i]沒有填寫!<br>"; }
else
{ $ehint.="$field_name[$i]的長度范圍是$myminl\-$mymaxl<br>"; }
}
}
else
{};
}
}
#你可以添加更多的檢測:重復密碼
sub morecheck
{
if ( $input{"pwd1"} ne $input{"pwd"} )
{ $ehint.="兩次密碼輸入不相同!<br>";}
if ( $input{"redirect"} =~ /go\.coolwww\.net/i )
{ $ehint.="目標網址不得含有go\.coolwww\.net!<br>"; }
}
#過濾不合適,不安全因素
sub myfilter
{
$input{'site_des'} =~ s/>//g;
$input{'site_des'} =~ s/<//g;
$input{'site_keywords'} =~ s/>//g;
$input{'site_keywords'} =~ s/<//g;
}
1;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -