ASP进阶之文章在线管理更新--管理员&栏目管理篇
作者:沙滩小子
前面的章节已经基本实现了文章管理系统的大部分功能,但是在本系统中,管理员姓名和密码以及栏目的更新都要自己在数据库中操作,这样并没有完全实现系统的完全在线管理更新,所以我最近对管理系统进行了进一步的完善,对其增加了相关功能,实现的真正意义上的文章管理系统在线管理更新!
实现这些功能也是通过对数据库的更新甚至新增内容来实现的,在这里活用数据库操作命令updata和addnew是关键,那些地方该用UPDATA,那些地方该用ADDNEW在这里都可以体现出来,下面就为大家介绍其详细的实现过程!
文件changepass.asp
"打开数据库连接文件
1
2"限制管理用户才能进入
3if request.cookies("adminok")="" then
4response.redirect "login.asp"
5end if
1<html>
2<head>
3<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
4<title>修改密码栏目信息</title>
5<meta content="Microsoft FrontPage 3.0" name="GENERATOR"/>
6<link href="style.css" rel="stylesheet" type="text/css"/>
7</head>
8<body>
9<div align="center"><center>
10<font face="楷体_gb2312" size="4">动网文章管理管理员页面</font>
11<table border="1" bordercolordark="#FFFFFF" bordercolorlight="#000000" cellpadding="0" cellspacing="0" width="80%">
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
1<tr>
2<td align="center" width="50%"><form action="changepass.asp" method="post" name="pass">
3<font color="red">修改管理员信息</font></form></td>
4<td rowspan="4" width="50%">* 如点击修改后仍显示原来密码不用理会,密码已经按照您输入的修改,您可以用新密码登陆看看,或者点刷新选择重试,这时显示将正常! </td>
5</tr>
6<tr>
7<td align="center" width="50%">
8<input name="method" type="hidden" value="chan"/>
9
10"在输入栏内显示原来的管理员名称和密码,可以在这里直接输入新的用户名和密码
11<input ```"="" id")="" name="id" type="hidden" value="```
12=rs("/>
13名字:<input ```"="" name="name" size="10" type="text" username")="" value="```
14=rs("/>
15</td>
16</tr>
17<tr>
18<td align="center" width="50%">密码:<input ```"="" name="pass" password")="" size="10" type="text" value="```
19=rs("/>
20</td>
21</tr>
22<tr>
23<td align="center" width="50%"><input class="buttonface" name="change" type="submit" value="修改"/>
24</td>
25</tr>
26
27"当返回的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
1<tr>
2<td valign="top" width="50%">
"打开显示文章栏目记录集
rst.open "select * from type",conn,1
if rst.EOF then
response.write "没有栏目:("
else
1<form action="changepass.asp" method="post" name="edittype">
2<p align="center"><font color="red">文章栏目管理</font><br/>
do while NOT rst.EOF
1
2"依次显示文章的栏目,并可通过点击删除,修改进行相关操作
=rst("type")
1<a ```&name='del"' href="changepass.asp?typeid=```
2=rst(" typeid")="">删除</a>
3<a ```&name='edit"' href="changepass.asp?typeid=```
4=rst(" typeid")="">修改</a>
5<br/>
rst.MoveNext
loop
end if
rst.close
1</p></form>
2"假如返回的NAME为DEL则提示用户点击了删除连接,那么将对数据库指定记录集进行删除操作
if request("name")="del" then
rst.open "delete * from type where typeid="+request("typeid"),conn,1
rst.close
end if
1
2"假如返回的NAME为EDIT则提示用户点击了修改按钮,这时候会利用返回的栏目ID(TYPEID)显示相关栏目的操作信息,并可在里面填写你想要修改的栏目名称
if request("name")="edit" then
rst.open "select * from type where typeid="+request("typeid"),conn,1
1<form action="changepass.asp" method="post" name="ctype">
2<input name="method" type="hidden" value="modified"/>
3<input ```"="" name="typeid" type="hidden" typeid")="" value="```
4=request("/>
5<input ```"="" name="typename" size="10" type="text" type")="" value="```
6=rst("/>
7<input class="buttonface" name="changetype" type="submit" value="修改"/>
8</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
1</td>
2<td valign="top" width="50%"><br/><p align="center"><font color="red">增加栏目</font><br/>
3
4"在输入栏内输入想要新增的栏目名称
5<form action="changepass.asp" method="post" name="add">
6<input name="method" type="hidden" value="added"/>
7<input name="addtype" size="10" type="text"/>
8<input class="buttonface" name="way" type="submit" value="增加"/>
9</form><br/>
10*在增加栏目以后必须刷新才能出现新增的栏目,但是刷新了以后要是选择重试就会重新增加一个栏目,所以建议大家这时候点击别的地方连接,比如修改栏目里面的修改,这样新增的栏目就会出来了!
11
12"假如从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
1</p></td>
2</tr>
3</table>
4</center></div>
5</body>
6</html>
好了,关于怎样利用ASP做文章的在线更新管理系统到这里就全部完成了,相信你看到这里一定可以感觉到它的易用性和功能的强大性,那么怎么还不赶快自己回去研究研究,自己弄一个来看看:)