ASP进阶之文章在线管理更新(13)

网络整理 - 07-26
ASP进阶之文章在线管理更新--管理员&栏目管理篇

作者:沙滩小子

    前面的章节已经基本实现了文章管理系统的大部分功能,但是在本系统中,管理员姓名和密码以及栏目的更新都要自己在数据库中操作,这样并没有完全实现系统的完全在线管理更新,所以我最近对管理系统进行了进一步的完善,对其增加了相关功能,实现的真正意义上的文章管理系统在线管理更新!

    实现这些功能也是通过对数据库的更新甚至新增内容来实现的,在这里活用数据库操作命令updata和addnew是关键,那些地方该用UPDATA,那些地方该用ADDNEW在这里都可以体现出来,下面就为大家介绍其详细的实现过程!

    文件changepass.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>修改密码栏目信息</title>
<meta content="Microsoft FrontPage 3.0">
<link type="text/css" href="style.css">
</head>
<body>
<div><center>
<font face=楷体_gb2312 size=4>动网文章管理管理员页面</font>
<table bordercolorlight="#000000" cellspacing="0" cellpadding="0"
bordercolordark="#FFFFFF">
<%
dim rs,tsql
dim rst
    "打开记录集ADMIN,并显示其内容
set rs=server.CreateObject("ADODB.RecordSet")
set rst=server.CreateObject("ADODB.RecordSet")
    rs.open "select * from admin",conn,1
%>
  <tr>
    <td align=center><form name=pass method="post" action="changepass.asp">
<font color=red>修改管理员信息</font></td>
    <td rowspan="4">* 如点击修改后仍显示原来密码不用理会,密码已经按照您输入的修改,您可以用新密码登陆看看,或者点刷新选择重试,这时显示将正常! </td>
  </tr>
  <tr>
    <td>
<INPUT TYPE="hidden" name=method value="chan">

    "在输入栏内显示原来的管理员名称和密码,可以在这里直接输入新的用户名和密码
<INPUT TYPE="hidden" name=id value="<%=rs("id")%>">
名字:<INPUT TYPE="text" size=10 value="<%=rs("username")%>">
 </td>
  </tr>
  <tr>
    <td>密码:<INPUT TYPE="text" size=10 value="<%=rs("password")%>">
 </td>
  </tr>
  <tr>
    <td><INPUT class=buttonface value="修改" type='submit'>
 </td>
  </tr>
</form>
    "当返回的method值为提示修改密码的chan,chan在填写管理员名称和密码的from里面用value定义,所以当返回的是chan则提示为修改密码,可以进行数据库更新,否则将不执行UPDATA命令
<%
rs.close
if request("method")="chan" then
  if request("change")="修改" then
rs.open "select * from admin whereid"),conn,1,3
    "利用返回的管理员ID指定记录集中的记录并对其进行更新
rs("username")=request("name")
rs("password")=request("pass")
rs.Update
  end if
end if
rs.close
%>
  <tr>
    <td valign="top">
<%
    "打开显示文章栏目记录集
rst.open "select * from type",conn,1
if rst.EOF then
response.write "没有栏目:("
else
%><br>
<form name=edittype method="post" action="changepass.asp">
<p align=center><font color=red>文章栏目管理</font><br>
<%do while NOT rst.EOF%>

    "依次显示文章的栏目,并可通过点击删除,修改进行相关操作
<%=rst("type")%>
<a href="changepass.asp?typeid=<%=rst("typeid")%>&name=del">删除</a>
   <a href="changepass.asp?typeid=<%=rst("typeid")%>&name=edit">修改</a>
<br>
<%
rst.MoveNext
loop
end if
rst.close
%>
</form>
    "假如返回的NAME为DEL则提示用户点击了删除连接,那么将对数据库指定记录集进行删除操作
<%
  if request("name")="del" then
rst.open "delete * from type where typeid="+request("typeid"),conn,1
rst.close
  end if
%>

   "假如返回的NAME为EDIT则提示用户点击了修改按钮,这时候会利用返回的栏目ID(TYPEID)显示相关栏目的操作信息,并可在里面填写你想要修改的栏目名称
<%if request("name")="edit" then
rst.open "select * from type where typeid="+request("typeid"),conn,1
%>
<form name=ctype method="post" action="changepass.asp">
<INPUT TYPE="hidden" name=method value="modified">
<INPUT TYPE="hidden" name=typeid value="<%=request("typeid")%>">
<INPUT TYPE="text" size=10 value="<%=rst("type")%>">
<INPUT class=buttonface value="修改" type='submit'>
</form>
<%
end if
rst.close

    "当显示了相关栏目信息后,利用已经在修改的from里面定义的method和changetype判定用户是否点击了修改按钮,并利用UPDATA对数据库进行更新
if request("method")="modified" then
  if request("changetype")="修改" then
rst.open "select * from type where typeid="+request("typeid"),conn,1,3
rst("type")=request("typename")
rst.Update
  end if
end if
rst.close
%>
 </td>
    <td valign="top"><br><p align=center><font color=red>增加栏目</font><br>
    
    "在输入栏内输入想要新增的栏目名称
<form name=add method="post" action="changepass.asp">
   <INPUT TYPE="hidden" name=method value="added">
<INPUT TYPE="text" size=10>
<INPUT class=buttonface value="增加" type='submit'>
</form><br>
*在增加栏目以后必须刷新才能出现新增的栏目,但是刷新了以后要是选择重试就会重新增加一个栏目,所以建议大家这时候点击别的地方连接,比如修改栏目里面的修改,这样新增的栏目就会出来了!

    "假如从from传来的信息method为added,则对指定记录集进行新增记录操作,栏目名称为从增加栏目的FROM处返回的addtype
<% if request("method")="added"  then
rst.open "select * from type",conn,3,2
rst.addnew
rst("type")=request("addtype")
rst.update
rst.close
end if  %>
  </td>
  </tr>
</table>
</center></div>
</body>
</html>

    好了,关于怎样利用ASP做文章的在线更新管理系统到这里就全部完成了,相信你看到这里一定可以感觉到它的易用性和功能的强大性,那么怎么还不赶快自己回去研究研究,自己弄一个来看看:)