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

📄 forums.cgi

📁 支持全流程的Perl+MySQL电子商务系统。完全公开代码。
💻 CGI
字号:
#!/usr/bin/perl
#
#
##########################################################
#					网络商店	袖珍论坛
#					Net SHOP	Forums
##########################################################
use FindBin qw($Bin);
use lib "$Bin/library";
use iLcatlib;
use strict;
use vars qw(%FORM %CON %COOKIE $forums @userdata);

#获得系统参数
tie %CON, 'IniFiles', ( -file => "$Bin/nkshop.ini" );

#构造新对象
$forums=iLcatlib->new(ttmlpath=>"$CON{path}{ttmlpath}");

#获得COOKIE
%COOKIE=$forums->ReadCookie();

#获得提交内容
%FORM=$forums->ReadParse();

#连接数据库
$forums->MySQL_Connect(
	database=>"$CON{database}{database}",
	dbhost=>"$CON{database}{dbhost}",
	dbuser=>"$CON{database}{dbuser}",
	dbpwd=>"$CON{database}{dbpwd}"
);

#if ($FORM{'act'} eq 'login_proc') {&login_proc;}
#elsif ($FORM{'key'} eq '') {&login_page;}
#else {@userdata=$forums->key_proc("$FORM{'key'}","$CON{parameter}{timeout}");}

if ($FORM{'act'} eq 'post_do') {&post_do;}
if ($FORM{'act'} eq 'read') {&read;}
else {&main;}

sub main
{
my ($sth,$row,$text,%dbs);

my $dm_board=0;
$sth=$forums->MySQL_Query("select num,count,autid,subject,text,cretime from board order by cretime desc");
while (($row = $sth->fetchrow_arrayref)){

	$dbs{'board'}{"$dm_board"}={
			num		=>	$row->[0],
			count	=>	$row->[1],
			autid	=>	$row->[2],
			subject	=>	$row->[3],
			text	=>	$row->[4],
			cretime	=>	$row->[5],
			cgiurl	=>	$CON{path}{cgiurl},
	};
	$dm_board++;
}


$text={
	loop_board	=>	$dm_board-1,
	imgurl	=>	$CON{path}{webimg},
	cgiurl	=>	$CON{path}{cgiurl},
};

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

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

sub post_do
{
my ($sth,$row,$autid);

if ($FORM{'subject'} eq "") {$forums->Error("缺少必要的主题");}

#用户验证
if ($FORM{'uid'} ne "") {
	$sth=$forums->MySQL_Query("select passwd from userdata where id = '$FORM{'uid'}'");
	$row = $sth->fetchrow_arrayref();
	if (($forums->crypt("$FORM{'pwd'}")) ne $row->[0]) {$forums->Error("用户密码错误");}
	else {$autid="$FORM{'uid'}";}
}
else {
	$autid="游 客";
}

$FORM{'subject'} =~ s/</&lt;/isg;
$FORM{'text'} =~ s/>/&gt;/isg;
$FORM{'face'} =~ s/>/&gt;/isg;
$FORM{'text'} =~ s/ /&nbsp;/g;
$FORM{'text'} =~ s/\n/<br>/g;


$FORM{'subject'} = "<img src=\"$CON{path}{webimg}/$FORM{'face'}\">$FORM{'subject'}";

$FORM{'subject'}	=	$forums->MySQL_Quote("$FORM{'subject'}");
$FORM{'text'}	=	$forums->MySQL_Quote("$FORM{'text'}");

$sth=$forums->MySQL_Query("select num from board order by num desc");
$row = $sth->fetchrow_arrayref();
my $num = $row->[0]+1;

$forums->MySQL_Do("INSERT into board(num,autid,subject,text,cretime)
						values('$num','$autid',$FORM{'subject'},$FORM{'text'},sysdate())");

$forums->Location("$CON{path}{cgiurl}/forums.cgi");

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

sub read
{
my ($text,$sth,$row);

$sth=$forums->MySQL_Query("select autid,subject,text,cretime from board where num = '$FORM{'num'}'");
$row = $sth->fetchrow_arrayref();
if ($row->[0] eq "") {$forums->Error("没有这条留言");}

$forums->MySQL_Do("UPDATE board SET count= count+1 where num = '$FORM{'num'}'");

$text={
	autid	=>	$row->[0],
	subject	=>	$row->[1],
	text	=>	$row->[2],
	cretime	=>	$row->[3],
	imgurl	=>	$CON{path}{webimg},
	cgiurl	=>	$CON{path}{cgiurl},
};

print $forums->Parse("read_forums.htm",$text);

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

⌨️ 快捷键说明

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