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 name="GENERATOR" content="Microsoft FrontPage 3.0">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div align="center"><center>
<font face=楷体_gb2312 size=4>动网文章管理管理员页面</font>
<table border="1" width="80%" 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 width="50%" align=center><form name=pass method="post" action="changepass.asp">
<font color=red>修改管理员信息</font></td>
<td width="50%" rowspan="4">* 如点击修改后仍显示原来密码不用理会,密码已经按照您输入的修改,您可以用新密码登陆看看,或者点刷新选择重试,这时显示将正常! </td>
</tr>
<tr>
<td width="50%" align="center">
<INPUT TYPE="hidden" name=method value="chan">
"在输入栏内显示原来的管理员名称和密码,可以在这里直接输入新的用户名和密码
<INPUT TYPE="hidden" name=id value="<%=rs("id")%>">
名字:<INPUT TYPE="text" size=10 NAME="name" value="<%=rs("username")%>">
</td>
</tr>
<tr>
<td width="50%" align="center">密码:<INPUT TYPE="text" size=10 NAME="pass" value="<%=rs("password")%>">
</td>
</tr>
<tr>
<td width="50%" align="center"><INPUT name="change" 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 where id="+request("id"),conn,1,3
"利用返回的管理员ID指定记录集中的记录并对其进行更新
rs("username")=request("name")
rs("password")=request("pass")
rs.Update
end if
end if
rs.close
%>
<tr>
<td width="50%" 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 NAME="typename" value="<%=rst("type")%>">
<INPUT name="changetype" 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 width="50%" 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 NAME="addtype">
<INPUT name="way" 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>
</center></div>
</body>
</html>
好了,关于怎样利用ASP做文章的在线更新管理系统到这里就全部完成了,相信你看到这里一定可以感觉到它的易用性和功能的强大性,那么怎么还不赶快自己回去研究研究,自己弄一个来看看:)关于本系统的具体实例可以去http://asky.on.net.cn/article看看,由于本人水平有限,要有什么BUG还请告诉我哦,有什么问题可以与我连系:wodeail@etang.com。
转载请注明出处http://asky.on.net.cn
……