📄 member.cgi
字号:
#!/usr/bin/perl
#
#
##########################################################
# 网络小厨房 商店系统
# Net Kitchen SHOP
##########################################################
#首页代码
##########################################################
####################################################################################
#前端预处理
####################################################################################
use FindBin qw($Bin);
use lib "$Bin/library";
use iLcatlib;
use strict;
use vars qw(%FORM %CON %COOKIE $LIB $sth $row @userdata);
#获得系统参数
tie %CON, 'IniFiles', ( -file => "$Bin/nkshop.ini" );
#构造新对象
$LIB=iLcatlib->new(ttmlpath=>"$CON{path}{ttmlpath}");
#获得COOKIE
%COOKIE=$LIB->ReadCookie();
#获得提交内容
%FORM=$LIB->ReadParse();
#连接数据库
$LIB->MySQL_Connect(
database=>"$CON{database}{database}",
dbhost=>"$CON{database}{dbhost}",
dbuser=>"$CON{database}{dbuser}",
dbpwd=>"$CON{database}{dbpwd}"
);
#用户检测
@userdata=$LIB->key_proc("$COOKIE{'key'}","$CON{parameter}{timeout}");
if ($FORM{'act'} eq "register") {®ister;}
elsif ($FORM{'act'} eq "reg_do") {®_do;}
elsif ($FORM{'act'} eq "edit") {&edit;}
elsif ($FORM{'act'} eq "edit_main") {&edit_main;}
elsif ($FORM{'act'} eq "edit_do") {&edit_do;}
else {$LIB->Error("Request Null!");}
sub register
{
print $LIB->Parse("register.htm",{
webname => $CON{syscon}{webname},
weburl => $CON{syscon}{weburl},
cgiurl => $CON{path}{cgiurl},
});
#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}
sub reg_do
{
##########首先检测填写内容是否为空
if ($FORM{'id'} eq "") {$LIB->Error("请填写登陆用户名");}
elsif ($FORM{'passwd'} eq "") {$LIB->Error("请填写登陆密码");}
elsif ($FORM{'passwd2'} eq "") {$LIB->Error("请填写重复密码");}
elsif ($FORM{'email'} eq "") {$LIB->Error("请填写电子信箱");}
elsif ($FORM{'name'} eq "") {$LIB->Error("请填写真实姓名");}
elsif ($FORM{'idcard'} eq "") {$LIB->Error("请填写证件号码");}
elsif ($FORM{'address'} eq "") {$LIB->Error("请填写真实通信地址");}
elsif ($FORM{'postcode'} eq "") {$LIB->Error("请填写邮政编码");}
elsif ($FORM{'phone'} eq "") {$LIB->Error("请填写电话号码");}
elsif (length($FORM{'id'}) > 8) {$LIB->Error("登陆用户名限制在4个汉字或8个英文字母之内");}
elsif (length($FORM{'passwd'}) > 12) {$LIB->Error("登陆密码限制在12位字母之内");}
elsif ($FORM{'passwd'} ne $FORM{'passwd2'}) {$LIB->Error("密码与重复密码不相符");}
#######检测是否已经存在这个用户
$sth=$LIB->MySQL_Query("select id from userdata where id = '$FORM{'id'}'");
$row = $sth->fetchrow_arrayref();
if ($row->[0] eq $FORM{'id'}) {$LIB->Error("$FORM{'id'}这个用户已经在系统中存在");}
$FORM{'id'}=$LIB->MySQL_Quote("$FORM{'id'}");
$FORM{'passwd'}=$LIB->crypt("$FORM{'passwd'}");
$FORM{'email'}=$LIB->MySQL_Quote("$FORM{'email'}");
$FORM{'name'}=$LIB->MySQL_Quote("$FORM{'name'}");
$FORM{'idcard'}=$LIB->MySQL_Quote("$FORM{'idcard'}");
$FORM{'address'}=$LIB->MySQL_Quote("$FORM{'address'}");
$FORM{'postcode'}=$LIB->MySQL_Quote("$FORM{'postcode'}");
$FORM{'phone'}=$LIB->MySQL_Quote("$FORM{'phone'}");
$LIB->MySQL_Do("INSERT into userdata(id,passwd,email,name,idcard,address,postcode,phone,exp,cretime,level)
values($FORM{'id'},'$FORM{'passwd'}',$FORM{'email'},$FORM{'name'},$FORM{'idcard'},$FORM{'address'},
$FORM{'postcode'},$FORM{'phone'},'0',sysdate(),'2')
");
print $LIB->Parse("done.htm",{report=>"您注册的用户名为:$FORM{'id'} 现在可以关闭这里"});
#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}
sub edit
{
print $LIB->Parse("edit_page.htm",{
imgurl => $CON{path}{webimg},
cgiurl => $CON{path}{cgiurl},
});
#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}
sub edit_main
{
my ($text);
#用户验证
$sth=$LIB->MySQL_Query("select passwd,name,address,postcode,phone,email,idcard from userdata where id = '$FORM{'uid'}'");
$row = $sth->fetchrow_arrayref();
if (($LIB->crypt("$FORM{'pwd'}")) ne $row->[0]) {$LIB->Error("用户密码错误");}
my $text={
name => $row->[1],
address => $row->[2],
postcode => $row->[3],
phone => $row->[4],
email => $row->[5],
idcard => $row->[6],
uid => $FORM{'uid'},
cgiurl => $CON{path}{cgiurl},
};
print $LIB->Parse("user_edit.htm",$text);
#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}
sub edit_do
{
my ($text,$passwd);
#用户验证
$sth=$LIB->MySQL_Query("select passwd from userdata where id = '$FORM{'uid'}'");
$row = $sth->fetchrow_arrayref();
if (($LIB->crypt("$FORM{'pwd'}")) ne $row->[0]) {$LIB->Error("用户密码错误");}
#升级密码
if ($FORM{'new_pwd'} ne '') {
if ($FORM{'new_pwd2'} eq '') {$LIB->Error("重复密码必须填写");}
if ($FORM{'new_pwd'} ne $FORM{'new_pwd2'}) {$LIB->Error("密码与重复密码不一致,请重新填写");}
$passwd=$LIB->crypt($FORM{'new_pwd'});
###升级用户密码
$LIB->MySQL_Do("UPDATE userdata set passwd='$passwd' where id = '$FORM{'uid'}'");
}
###升级用户信息
$LIB->MySQL_Do("UPDATE userdata set email='$FORM{'email'}',name='$FORM{'name'}',idcard='$FORM{'idcard'}',address='$FORM{'address'}',postcode='$FORM{'postcode'}',phone='$FORM{'phone'}' where id = '$FORM{'uid'}'");
$LIB->Location("$CON{path}{cgiurl}/member.cgi?act=edit&uid=$FORM{'uid'}&msg=修改成功,请再次登陆看看");
#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -