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

  • 来源: 互联网 作者: 若水   2008-03-17/13:31
  • 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>#p#分页标题#e#
       <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>
    </table>
    </center></div>
    </body>
    </html>

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


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多