⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 order_control.cgi

📁 支持全流程的Perl+MySQL电子商务系统。完全公开代码。
💻 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 "check_page") {&check_page;}#定单查询功能
elsif ($FORM{'act'} eq "order_list") {&order_list;}#所有定单查询结构

elsif ($FORM{'act'} eq "disp_orderform") {&disp_orderform;}#独立定单检索(包括修改内容功能)

elsif ($FORM{'act'} eq "do_rm_orderform") {&do_rm_orderform;}#定单删除

elsif ($FORM{'act'} eq "do_change_orderform") {&do_change_orderform;}#修改定单
else {&check_page;}

sub check_page
{
print $LIB->Parse("check_page.htm",{
									imgurl	=>	$CON{path}{webimg},
									cgiurl	=>	$CON{path}{cgiurl},
									uid		=>	$FORM{'uid'},
									msg		=>	$FORM{'msg'},
								});

#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}


sub order_list
{
my (@view,%dbs);
my ($text,$shopped_req,$shopped_row);

$LIB->Error("请填写用户名") if ($FORM{'uid'} eq "");
#用户验证
$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("用户密码错误");}


#########################################
#取出此用户定单
my $loop_order_list=0;
my $shopped_list;
$sth=$LIB->MySQL_Query("select num,cretime,all_price,gather,gather_desc,send,send_desc from choosed where choosed_name = '$FORM{'uid'}' order by cretime desc");
while ($row = $sth->fetchrow_arrayref()) {

	if ($row->[3] eq '1') {$row->[3]="已付";}
	else {$row->[3]="未付";}
	if ($row->[5] eq '0') {$row->[5]="未发货";}
	elsif ($row->[5] eq '1') {$row->[5]="已发货";}
	elsif ($row->[5] eq '2') {$row->[5]="有缺货";}
	elsif ($row->[5] eq '3') {$row->[5]="汇单不明";}

	$shopped_list=undef;

	$shopped_req=$LIB->MySQL_Query("select pro_name,spec_desc,pro_count from choosed_pro where come_chose='$row->[0]'");
	while ($shopped_row = $shopped_req->fetchrow_arrayref()) {
		$shopped_row->[1] = '' if ($shopped_row->[1] eq 'NULL');
		$shopped_list .="<option>$shopped_row->[0]:$shopped_row->[1]:$shopped_row->[2]</option>\n";
	}


	$dbs{'order_list'}{"$loop_order_list"}={
		choosed_num	=>	$row->[0],
		cretime		=>	$row->[1],
		all_price	=>	$row->[2],
		pay_type	=>	$row->[3],
		rec_type	=>	$row->[5],
		shopped_list	=>	$shopped_list,
		link_url	=>	"$CON{path}{cgiurl}/order_control.cgi?act=disp_orderform&choosed_num=$row->[0]&uid=$FORM{'uid'}",
	};

	$loop_order_list++;
}

$text={
	imgurl	=>	$CON{path}{webimg},
	cgiurl	=>	$CON{path}{cgiurl},
	loop_order_list	=>	$loop_order_list-1,
	company_address	=>	$CON{syscon}{company_address},
	company_postcode	=>	$CON{syscon}{company_postcode},
	company_recuser		=>	$CON{syscon}{company_recuser},
	choosed_num		=>	'您定单的编号',
};

print $LIB->Parse("order_list.htm",$text,%dbs);

#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}

sub disp_orderform
{
my ($text,$cretime,$gather,$send,$pay_type,$rec_type,$rec_name,$rec_address,$rec_postcode,$rec_contact,$rec_email,$remark,$all_price);
my (%dbs);

$LIB->Error("请填写用户名") if ($FORM{'uid'} eq "");

#检测定单是否存在
$sth=$LIB->MySQL_Query("select cretime,gather,gather_desc,send,send_desc,pay_type,pay_channel,rec_type,rec_type_desc,rec_name,rec_address,rec_postcode,rec_contact,rec_email,remark,all_price from choosed where num = '$FORM{'choosed_num'}' and choosed_name = '$FORM{'uid'}'");
$row = $sth->fetchrow_arrayref();
if ($row->[0] eq '') {$LIB->Error("定单不存在");}
$cretime		=$row->[0];
$gather			=$row->[1];
$send			=$row->[3];
$pay_type		=$row->[5];
$rec_type		=$row->[7];
$rec_name		=$row->[9];
$rec_address	=$row->[10];
$rec_postcode	=$row->[11];
$rec_contact	=$row->[12];
$rec_email		=$row->[13];
$remark			=$row->[14];
$all_price		=$row->[15];

#########################################
#取出此定单商品
my $loop_shopped_list=0;
my $end_price;
$sth=$LIB->MySQL_Query("select pro_pid,pro_name,pro_count,spec_desc,spec,pro_price from choosed_pro where come_chose = '$FORM{'choosed_num'}'");
while ($row = $sth->fetchrow_arrayref()) {

	$end_price=($row->[5]+$row->[4])*$row->[2];

	$dbs{'shopped_list'}{"$loop_shopped_list"}={
		pro_pid	=>	$row->[0],
		pro_name	=>	$row->[1],
		pro_count	=>	$row->[2],
		spec_desc	=>	$row->[3],
		spec	=>	$row->[4],
		end_price	=>	$end_price,
	};

	$loop_shopped_list++;
}


$text={
	choosed_num=>	$FORM{'choosed_num'},
	cretime	=>	$cretime,
	gather	=>	$gather,
	send	=>	$send,
	pay_type=>	$CON{parameter}{"pay_type$pay_type"},
	rec_type=>	$CON{parameter}{"rec_type$rec_type"},
	rec_name=>	$rec_name,
	rec_address=>	$rec_address,
	rec_postcode=>	$rec_postcode,
	rec_contact=>	$rec_contact,
	rec_email=>	$rec_email,
	remark	=>	$remark,
	all_price=>	$all_price,
	cgiurl	=>	$CON{path}{cgiurl},
	imgurl	=>	$CON{path}{webimg},
	uid		=>	$FORM{'uid'},
	loop_shopped_list=>$loop_shopped_list-1,
};

print $LIB->Parse("disp_orderform.htm",$text,%dbs);

#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}

sub do_rm_orderform
{
my ($text);

$LIB->Error("请填写用户名") if ($FORM{'uid'} eq "");
#用户验证
$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("用户密码错误");}

#判断欲删除是否此用户
$sth=$LIB->MySQL_Query("select num from choosed where num = '$FORM{'choosed_num'}' and choosed_name = '$FORM{'uid'}'");
$row = $sth->fetchrow_arrayref();
if ($row->[0] eq '') {$LIB->Error("您无此定单");}

$LIB->MySQL_Do("DELETE FROM choosed WHERE num='$FORM{'choosed_num'}' and choosed_name = '$FORM{'uid'}'");
$LIB->MySQL_Do("DELETE FROM choosed_pro WHERE come_chose='$FORM{'choosed_num'}'");

$LIB->Location("$CON{path}{cgiurl}/order_control.cgi?uid=$FORM{'uid'}&msg=删除成功,请再登陆查看");

#MySQL Disconnect And The END
$LIB->MySQL_Disconnect();$LIB->exit();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -