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

📄 manage_html.cgi

📁 陈淑亭网络课堂:采用iis+perlis方式编写
💻 CGI
字号:
#!/perl/bin/perl
require "./setup.cgi";
use CGI;
$co=new CGI;
$action=$co->param('action');
$name=$co->cookie('name');
$key=$co->cookie('key');
$kind=$co->cookie('kind');
$filename=$co->param('filename');
$flag=$co->param('flag');
$object=$co->param('object');
$findname=$co->param('findname');
$findpath=$co->param('findpath');
if (($findname)&&($findpath)) {&search;exit;} #判断是否是查找资料
if ($object) {&admin($object);exit;} #判断是否是站长管理
if (-e "$adminpath/$name.cgi") {$who=1;} #判断是老师登陆还是学生登陆
elsif (-e "$userpath/$name.cgi") {$who=0;}
else {&error("用户名不存在");}
if ($flag) {&seemore($flag);exit;} 
if ($action eq "add_yp") {$flag="yp";} #判断添加文章的分类
elsif ($action eq "add_lx") {$flag="lx";}
elsif ($action eq "add_st") {$flag="st";}
elsif ($action eq "del_data") {&del_data($filename);exit;} #判断是否是删除文章
else {&error("未知错误");}
print $co->header(-charset=>'gb2312');
print qq~
<html>
<head><title>添加</title>
<link rel="stylesheet" href="pic/CSS.CSS" type="text/css">
</head>
<body>
<script src=top.js></script>
<br>
<center>
<br><br>
<form action=t_manage.cgi method=post>
标题:(必须填写)<br><input type=text name=artical>
<br><br>
内容:(可以不写)<br><textarea cols="50" rows="10" name="content"></textarea> 
<br><br>
附件:<input name=upload type=radio value="no" checked>没有 <input name=upload type=radio value="yes">有
<br><br>
<input type=hidden name=kind value="$classkind{$kind}/$flag">
<input type=submit name=submit value="确定">
</form>
</center>
<br>
<script src=buttom.js></script>
</body>
</html>
~;

sub del_data
{$_=shift;
unlink ("$realpath/$_.dat");
if (-e "$realpath/$_.dwn")
{
open (f,"$realpath/$_.dwn");
@dwn_data=<f>;
close f;
&del(@dwn_data);
foreach $dwn_data(@dwn_data) {unlink ("$basedir/$dwn_data");}
unlink ("$realpath/$_.dwn");
}
print $co->header(-charset=>'gb2312');
print qq~
<html>
<head>
<title>本窗口在5秒后自动关闭</title>
</head>
<body>
<script language="JavaScript">
setTimeout("self.close()",5000)
</script>
<script src=top.js></script>
<br>
<center>
<font color=red size=5>删除成功</font><br><br><br><br>
<p align="center">【<a href="javascript:window.close()"><font color=blue size=3>关闭</font></a>】</p>
<br>
<script src=buttom.js></script>
</body>
</html>
~;
}

sub seemore
{$_=shift;
if ($_ eq "yp") {$tmp="音频";}
elsif ($_ eq "lx") {$tmp="练习";}
elsif ($_ eq "st") {$tmp="试题";}
else {&error("未知错误");}
unless ($who)
{
open (f,"$userpath/$name.cgi");
@userdata=<f>;
close f;
&del(@userdata);
$userdata[5]=$userdata[5]-(time()-$userdata[4]);
$userdata[4]=time();  
open (f,">$userpath/$name.cgi");
foreach $userdata(@userdata) {print f "$userdata\n";}
close f;
unless ($userdata[5]>0) {&error("您的帐号时间不够,请及时冲值");}
}
print $co->header(-charset=>'gb2312');
print qq~
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="pic/CSS.CSS" type="text/css">
~;
unless ($who) {print "<meta http-equiv='refresh' content='900'>";}
print qq~
<title>更多......</title>
</head>
~;
unless ($who)
{print qq~
<body onUnload=stay()>
<script language="Javascript">
function stay() {
window.open("exit.cgi","","height=300,width=400");
} 
</script>
~;}
else {print "<body>";}
print qq~
<table border="0" width="750" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td><script src=top.js></script></td>
  </tr>
  <tr>
    <td> 
<table border="1" cellspacing="0" width="100%" id="AutoNumber1">
  <tr>
    <td width="10%" height="35" bgcolor="#FFFF00"><font color=blue face='楷体_GB2312' size=4>$classkind{$kind}</font></td>
    <td width="90%" height="35" bgcolor="#FFFF00">&nbsp;<font face="隶书" size="4">$tmp</font>
~;
if ($who) {print "<b><font color=#FF0000 size=4 face='隶书'>-&gt;</font></b><a href=manage_html.cgi?action=add_$_ target=_blank><font color=#0000FF face='楷体_GB2312' size=4>添加</font></a>";}
print qq~
</td>
  </tr>
  <tr>
    <td width="10%" height="200" bgcolor=#08BA73> </td>
    <td width="90%" height="200" valign=top><br>
~;
my $i=0;
opendir (DIR,"$realpath/$classkind{$kind}/$_");  
@tmpdir=readdir(DIR);
closedir DIR;
foreach $tmpdir(@tmpdir)
{
if ($tmpdir=~/\.dat/i) {push(@mydir,$tmpdir);}
}
foreach $mydir(@mydir)
{ $i++;
($mydir,$non)=split(/\./,$mydir);
print "&nbsp;<a href=read.cgi?path=$_/$mydir target=_blank><font size=3>$tmp$i</font></a>&nbsp;&nbsp;";
if ($i%11==0) {print "<br><br>";}
}
print qq~
 </td>
  </tr>
</table>
</td>
  </tr>
  <tr>
    <td><script src=buttom.js></script></td>
  </tr>
</table>
</body>
</html>
~;
}

sub admin
{$_=shift;
unless (($name eq $supername)&&($key eq $superkey)) {&error("你没有管理员的权限");}
my (@tmpdir,@tempdir,@mydir);
$page=$co->param('page');
unless ($page) {$page=1;}
if ($_ eq "teacher") 
{
opendir (DIR,"$adminpath");
@tmpdir=readdir(DIR);
closedir DIR;
foreach $tmpdir(@tmpdir)
{if ($tmpdir=~/\.cgi$/i) {push (@tempdir,$tmpdir);}}
@tempdir=reverse @tempdir;
#####if ($filename) {&search;exit;}
$count=($#tempdir+1)/$pageview+1;   #统计文件数算出总共的页数
$max=$page*$pageview-1;
$max=$#tempdir if ($max>$#tempdir);  #页面文件调整
for ($n=($page-1)*$pageview;$n<=$max;$n++)
{push (@mydir,$tempdir[$n]);}
print $co->header(-charset=>'gb2312');
print qq~
<html>
<head><title>管理老师</title>
<link rel="stylesheet" href="pic/CSS.CSS" type="text/css">
</head>
<body>
<script src=top.js></script>
<br>
<table width=750 align=center>
<tr><td colspan=3 align=center>
<form action=manage_html.cgi method=post>
<input type="text" name="findname" size="25" style="font-family: 宋体; font-size: 9pt; background-color: rgb(224,237,254); color: rgb(5,64,129); border: 1px solid rgb(0,0,128)">
<input type=hidden name="findpath" value="$adminpath">
<input type="submit" name="Submit" value="查找老师" style="font-family: 宋体; font-size: 9pt; background-color: rgb(224,237,254); color: rgb(5,64,129); border: 1px solid rgb(0,0,128)">(只能按用户名或者真实姓名查找)
</form>
</td></tr>
~;
foreach $mydir(@mydir)
{
($teachername,$non)=split(/\./,$mydir);
print qq~
<tr>
<td width=50% align=center><a href=t_manage.cgi?admin=see&id=$teachername target=_blank>$teachername</a></td>
<td width=25% align=center><a href=t_manage.cgi?admin=change&id=$teachername target=_blank>修改</a></td>
<td width=25% align=center><a href=t_manage.cgi?admin=del&id=$teachername target=_blank>删除</a></td>
</tr>
<tr><td>&nbsp;</td></tr>
~;
}
print "<tr><td colspan=3 align=right>";
for ($i=1;$i<=$count;$i++){print "<a href=manage_html.cgi?object=$_&page=$i> $i </a>";}
print qq~
</td></tr>
</table>
<script src=buttom.js></script>
</body>
</html>
~;
}
elsif ($_ eq "student") 
{
opendir (DIR,"$userpath");
@tmpdir=readdir(DIR);
closedir DIR;
foreach $tmpdir(@tmpdir)
{if ($tmpdir=~/\.cgi$/i) {push (@tempdir,$tmpdir);}}
@tempdir=reverse @tempdir;
#####if ($filename) {&search;exit;}
$count=($#tempdir+1)/$pageview+1;   #统计文件数算出总共的页数
$max=$page*$pageview-1;
$max=$#tempdir if ($max>$#tempdir);  #页面文件调整
for ($n=($page-1)*$pageview;$n<=$max;$n++)
{push (@mydir,$tempdir[$n]);}
print $co->header(-charset=>'gb2312');
print qq~
<html>
<head><title>管理会员</title>
<link rel="stylesheet" href="pic/CSS.CSS" type="text/css">
</head>
<body>
<script src=top.js></script>
<br>
<table width=700 align=center>
<tr><td colspan=3 align=center>
<form action=manage_html.cgi method=post>
<input type="text" name="findname" size="25" style="font-family: 宋体; font-size: 9pt; background-color: rgb(224,237,254); color: rgb(5,64,129); border: 1px solid rgb(0,0,128)">
<input type=hidden name=findpath value=$userpath>
<input type="submit" name="Submit" value="查找会员" style="font-family: 宋体; font-size: 9pt; background-color: rgb(224,237,254); color: rgb(5,64,129); border: 1px solid rgb(0,0,128)">(只能按用户名或者真实姓名查找)
</form>
</td></tr>
~;
foreach $mydir(@mydir)
{
($studentname,$non)=split(/\./,$mydir);
print qq~
<tr>
<td width=50% align=center><a href=t_manage.cgi?admin=see&id=$studentname target=_blank>$studentname</a></td>
<td width=25% align=center><a href=t_manage.cgi?admin=change&id=$studentname target=_blank>修改</a></td>
<td width=25% align=center><a href=t_manage.cgi?admin=del&id=$studentname target=_blank>删除</a></td>
</tr>
<tr><td>&nbsp;</td></tr>
~;
}
print "<tr><td colspan=3 align=right>";
for ($i=1;$i<=$count;$i++){print "<a href=manage_html.cgi?object=$_&page=$i> $i </a>";}
print qq~
</td></tr>
</table>
<script src=buttom.js></script>
</body>
</html>
~;
}
else {&error("未知错误");}
}

sub search
{
unless (($name eq $supername)&&($key eq $superkey)) {&error("你没有管理员的权限");}
my (@tmpdir,@tempdir,@mydir,@finddata);
opendir (DIR,"$findpath");
@tmpdir=readdir(DIR);
closedir DIR;
foreach $tmpdir(@tmpdir)
{if ($tmpdir=~/\.cgi$/i) {push (@tempdir,$tmpdir);}} 
foreach (@tempdir)
{
if ($_=~/$findname/ig) {push (@mydir,$_);} #查找用户名
else
{
open (f,"$findpath/$_"); #查找真实姓名
@finddata=<f>;
close f;
&del(@finddata);
if ($finddata[2]=~/$findname/ig) {push (@mydir,$_);}
elsif ($finddata[3]=~/$findname/ig) {push (@mydir,$_);}
}
}
if (@mydir)
{
print $co->header(-charset=>'gb2312');
print qq~
<html>
<head><title>查找结果</title>
<link rel="stylesheet" href="pic/CSS.CSS" type="text/css">
</head>
<body>
<script src=top.js></script>
<br>
<table width=700 align=center>
~;
foreach (@mydir)
{
($searchname,$non)=split(/\./,$_);
print qq~
<tr>
<td width=50% align=center><a href=t_manage.cgi?admin=see&id=$searchname target=_blank>$searchname</a></td>
<td width=25% align=center><a href=t_manage.cgi?admin=change&id=$searchname target=_blank>修改</a></td>
<td width=25% align=center><a href=t_manage.cgi?admin=del&id=$searchname target=_blank>删除</a></td>
</tr>
~;
}
print qq~
<tr><td>&nbsp;</td></tr>
</table>
<script src=buttom.js></script>
</body>
</html>
~;
}
else {&error("没有找到$findname");}
}

⌨️ 快捷键说明

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