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。下一章节就为大家介绍文章管理的文章在线删除篇。