ASP进阶之文章在线管理更新(10)
网络整理 - 07-26
ASP进阶之文章在线管理更新--管理页面篇作者:沙滩小子
前面讲述了关于文章管理系统的密码及密码验证,通过密码验证可以限制一般浏览者所能进入的页面,这里所要限制的就是普通用户所不能进入的页面,也就是包括管理页面、删除文章页面、修改文章页面以及修改用户信息和修改栏目信息的页面。其实这里的主管理页面就是和文章管理系统的主页面类似的页面,只是在里面添加了一些有关管理内容的连接,以方便管理者对文章进行在线的修改删除等操作。
下面就为大家介绍这一页面的主要程序内容,由于它和文章管理的主页面差不多,所以这里只是把其程序写出来,并注明和主页面不同的地方,其他相同的部分请大家参考本专题的第七节!
文件manage.asp
"打开数据库连接
<!--#include file="conn.asp"-->
<%
"限制非管理用户进入,这个在本专题的第七节有介绍
if request.cookies("adminok")="" then
response.redirect "login.asp"
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ASP技巧专题</title>
<meta content="Microsoft FrontPage 3.0">
<link type="text/css" href="style.css">
<script language="javascript">
function popwin2(id,path)
{ window.open("openarticle.asp?id="+id+"&ppath="+path,"","height=450,width=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");
}
</script>
</head>
<%
const MaxPerPage=18
dim totalPut
dim CurrentPage
dim TotalPages
dim i,j
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
dim sql
dim rs
dim rstype
dim typesql
dim typeid,typename
if not isEmpty(request("typeid")) then
typeid=request("typeid")
else
typeid=1
end if
set rstype=server.createobject("adodb.recordset")
typesql="select * from type where typeID="&cstr(typeid)
rstype.open typesql,conn,1,1
if not rstype.eof then
typename=rstype("type")
end if
rstype.close
set rstype=nothing
%>
<body>
<div><center>
<table cellspacing="0" cellpadding="0">
<tr>
<td><p><br>
动网ASP技巧专题>><font color="#FF0000"><%response.write ""&typename&""%></font><br>
<center>
<a href="manage.asp?typeid=1">ASP教程</a>|<a href="manage.asp?typeid=2">ASP FAQ</a>|<a href="manage.asp?typeid=3">ASP文摘</a>
|<a href="manage.asp?typeid=4">ASP实例</a>|<a href="manage.asp?typeid=5">ASP安全</a>|
"显示系统管理页面相关连接,用于修改管理员密码名称以及增加修改删除栏目,这个在后面将有介绍
<a href="changepass.asp" title="用于修改管理员密码名称以及增加修改删除栏目"><font color=red>管理页面</font></a>
<div><%
sql="select * from article where typeid="+cstr(typeid)+" order by data desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<p> 还 没 有 任 何 文 章</p>"
else
totalPut=rs.recordcount
totalPut=rs.recordcount
if currentpage<1 then
currentpage=1
end if
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
if currentPage=1 then
showpage totalput,MaxPerPage,"manage.asp"
showContent
showpage totalput,MaxPerPage,"manage.asp"
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
dim bookmark
bookmark=rs.bookmark
showpage totalput,MaxPerPage,"manage.asp"
showContent
showpage totalput,MaxPerPage,"manage.asp"
else
currentPage=1
showpage totalput,MaxPerPage,"manage.asp"
showContent
showpage totalput,MaxPerPage,"manage.asp"
end if
end if
rs.close
end if
set rs=nothing
conn.close
set conn=nothing
sub showContent
dim i
i=0
%>
<div><center><table cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF" cellpadding="0">
<tr>
<td bgcolor="#D0D0D0"><strong>ID号</strong></td>
<td bgcolor="#D0D0D0"><strong>文章标题</strong></td>
<td bgcolor="#D0D0D0"><strong>修改</strong></td>
<td bgcolor="#D0D0D0"><strong>删除</strong></td>
</tr>
<%do while not rs.eof%>
<tr>
<td><p><%=rs("articleid")%></td>
<td><p><a href="javascript:popwin2(<%=rs("articleid")%>)"><%=rs("title")%></a></td>
"显示与修改删除的相关连接,具体程序在后面章节将有介绍
<td><p><a
href="edit.asp?id=<%=rs("articleid")%>">修改</a></td>
<td><p><a
href="delete.asp?id=<%=rs("articleid")%>">删除</a></td>
</tr>
<% i=i+1
if i>=MaxPerPage then exit do
rs.movenext
loop
%>
</table>
</center></div><%
end sub
function showpage(totalnumber,maxperpage,filename)
dim n
if totalnumber mod maxperpage=0 then
n= totalnumber \ maxperpage
else
n= totalnumber \ maxperpage+1
end if
response.write "<form method=Post action="&filename&"?typeid="&typeid&">"
"显示增加文章相关连接,关于添加文章在本专题的第一、二节有介绍
response.write "<p><a href='addarticle.asp?typeid="&typeid&"'><font color='red'>增加文章</font></a> "
if CurrentPage<2 then
response.write "<font color='#000080'>首页 上一页</font> "
else
response.write "<a href="&filename&"?page=1&typeid="&typeid&">首页</a> "
response.write "<a href="&filename&"?page="&CurrentPage-1&"&typeid="&typeid&">上一页</a> "
end if
if n-currentpage<1 then
response.write "<font color='#000080'>下一页 尾页</font>"
else
response.write "<a href="&filename&"?page="&(CurrentPage+1)&"&typeid="&typeid&">"
response.write "下一页</a> <a href="&filename&"?page="&n&"&typeid="&typeid&">尾页</a>"
end if
response.write "<font color='#000080'> 页次:</font><strong><font color=red>"&CurrentPage&"</font><font color='#000080'>/"&n&"</strong>页</font> "
response.write "<font color='#000080'> 共<b>"&totalnumber&"</b>篇文章 <b>"&maxperpage&"</b>篇文章/页</font> "
response.write " <font color='#000080'>转到:</font><input type='text' size=4 maxlength=10 class=smallInput value="¤tpage&">"
response.write "<input class=buttonface type='submit' value='Goto' name='cndok'></span></p></form>"
end function
%>
</div></td>
</tr>
</table>
</center></div>
</body>
</html>
关于管理页面的程序就是这样的了,有什么不清楚的地方可以参考本专题的第八节,由于其内容类似,这里就不多说了,有什么问题可以给我EMAIL:wodeail@etang.com。下一章节就为大家介绍文章管理的文章在线删除篇。