280 likes | 451 Views
电子商务平台建设. 任务六 网站后台系统管理操作页设计. 一、站点信息配置页 Sys_Config.asp. 作用:修改站点基本信息 作为通用网站 , 网站名称、标题、关键字、备案号等信息必须通过数据库保存,然后通过读取数据库记录信息再显示,这样一般用户可以使用时对站点的配置就比较方便,不需要修改网页。 作为为企业专门设计的网页,则相关信息直接写入网页,这样减少数据库的读写,提高网站的访问速度。因此,将一个通用网站改为企业具体的网站时,有些信息可以直接写到网页中(当然也可以不改). 子任务一 网站配置信息修改.
E N D
电子商务平台建设 任务六网站后台系统管理操作页设计
一、站点信息配置页Sys_Config.asp • 作用:修改站点基本信息 • 作为通用网站,网站名称、标题、关键字、备案号等信息必须通过数据库保存,然后通过读取数据库记录信息再显示,这样一般用户可以使用时对站点的配置就比较方便,不需要修改网页。 • 作为为企业专门设计的网页,则相关信息直接写入网页,这样减少数据库的读写,提高网站的访问速度。因此,将一个通用网站改为企业具体的网站时,有些信息可以直接写到网页中(当然也可以不改)
子任务一 网站配置信息修改 • 1.进入示例网站后台,点击“站点信息配置”,运行Sys_Config.asp • 2.进入自己的网站后台,点击“站点信息配置”,运行Sys_Config.asp • 3.根据示例网站配置信息配置自己的网站,注意老师的信息改成自己的信息。
Sys_Config.asp原理 • 网站基本信息存放在数据库中的Ok3w_SiteConfig表中; • 网站运行时,站点信息从数据库中读入,存储在Application中(见Conn.asp) • Sys_Config.asp首先通过表单显示记录中的信息,供管理员修改; • 管理员修改后,将数据发送回网页; • 网页接收数据后,根据action项的值,若是“edit”则将表单的信息重新写回到数据库中。修改配置信息的程序SiteConfig.Edit()在Ok3w_SiteConfig.asp(基本配置类页)页中。
相关知识: • 表单项中可设置初始值,例: <input name=“SiteName” type=“text” value=“值”size="50" /> 值可以是一个具体的数值,也可以是ASP程序。 示例页中<input name=“SiteName” type=“text” value=“<%=Application(SiteID & "_Ok3w_SiteName")%> " size="50" /> <%=Application(SiteID & “_Ok3w_SiteName”)%>为显示Application中存储的信息
二、管理员管理页(Sys_admin.asp) • 作用: • 增加站点管理员 • 修改管理员密码及权限 • 锁定与解锁管理员 • 删除管理员 • 说明: • 一个网站根据功能,通常会设置若干个管理员,各管理员设置不同的权限,其中一个管理员(超级管理员)则具有所有权限。 • 管理员信息存储在数据库Ok3w_Admin表中,包括管理员用户名、密码及权限(Groupid)、锁定标记(Adminlock)。
当管理员的Adminlock值为0则允许登陆,为-1则为锁定,不允许登陆(判断在ad_login.asp页,调用clsAdmin_Info.asp页中的Admin_Info类的Admin.AdminLogin函数)。当管理员的Adminlock值为0则允许登陆,为-1则为锁定,不允许登陆(判断在ad_login.asp页,调用clsAdmin_Info.asp页中的Admin_Info类的Admin.AdminLogin函数)。 • ad_login.asp中若用户被锁定则继续显示ad_login.asp页,否则跳转到ad_index.html
子任务二:用户的操作 • 1.增加一管理员,用户名”new”,密码为”123456”,权限只有”新闻编辑”功能,允许登录。 • 2.退出系统,重新以管理员new登陆,查看后台功能。 • 3.退出系统,以超级管理员身份登陆,将管理员new设置为锁定是,再用管理员new登陆,看结果。 • 4.以超级管理员身份登陆,修改管理员new的密码,并设置设置锁定为否,重新验证管理员new登陆。 • 5.以超级管理员身份登陆,删除管理员new。
程序说明 • <!--#include file=“chk.asp”-->插入chk.asp,进行登陆验证; • Call CheckAdminFlag(1) ,调用chk.asp中的CheckAdminFlag验证用户权限,无权限则显示ad_right.asp页,否则继续。 • 网页显示增加表单及各管理员表单 • 若管理员在添加表单输入信息后按添加按钮,则表单除返回项数据外,还返回隐藏项action为“add”,网页调用Add()程序将表单信息存入管理员表Ok3w_Admin。 • 若管理员按某管理员表单中的“修改”按钮,则action为“edit”,调用Edit()程序,将表单信息写回原记录中 • 若管理员按某管理员表单中的“删除”按钮,则运行javascript语句: • onClick=“javascript:if(!confirm(‘真的要删除吗?’)) return false;formsubmit(this.form,‘del’);“ • 若管理员选“是”,则表单返回action为“del”,调用del()程序删除记录。
判断主程序 • Select Case Trim(Request.Form("action")) • Case "add" • Call Add() • Call SaveAdminLog("添加管理员:" & AdminName) • Call CloseConn() • Call ActionOk("Sys_admin.asp") • Case "edit" • Call Edit() • Call SaveAdminLog("修改管理员(ID=" & AdminId & ")为:" & AdminName) • Call CloseConn() • Call ActionOk("Sys_admin.asp") • Case "del" • Call Del() • Call SaveAdminLog("删除管理员(ID=" & AdminId & ")") • Call CloseConn() • Call ActionOk("Sys_admin.asp") • End Select
读取表单程序 • Private Sub GetFormData() • AdminId = Trim(Request.Form("AdminId")) • AdminName = Trim(Request.Form("AdminName")) • AdminPwd = Trim(Request.Form("AdminPwd")) • GroupId = "," & Replace(Request.Form("GroupId")," ","") & "," • AdminLock = Trim(Request.Form("AdminLock")) • End Sub
将数据写入数据库 • Private Sub UpdateRs(ByRef Rs,action) • Rs("AdminName") = AdminName • If action="edit" And AdminPwd="" Then • Else • Rs("AdminPwd") = MD5(AdminPwd) • End If • Rs("GroupId") = GroupId • Rs("AdminLock") = AdminLock • End Sub
管理员增加子程序Add() • Private Sub Add() • Call GetFormData() //读取表单数据 • Sql = "select count(*) from Ok3w_Admin where AdminName='" & AdminName & "'" • If Conn.Execute(Sql)(0)<>0 Then //直接运行查询 • Call CloseConn() • Session("ErrMsg") = "相同的管理员已经存在,请不要重复添加。" • Call ActionOk("Sys_admin.asp") • End If • sql = "select * from Ok3w_Admin where 1=2" • Rs.open sql,conn,1,3 • Rs.addnew • Call UpdateRs(Rs,"add") • Rs.update • Rs.close • End Sub
管理员修改子程序Edit() • Private Sub Edit() • Call GetFormData() //读表单数据 • sql="select count(*) from Ok3w_Admin where AdminName='" & AdminName & "' and AdminId<>" & AdminId • If Conn.Execute(sql)(0)<>0 Then • Call CloseConn() • Session("ErrMsg") = "相同的管理员已经存在,该修改无效。" • Call ActionOk("Sys_admin.asp") • End If • sql = "select * from Ok3w_Admin where AdminId=" & AdminId • Rs.Open Sql,Conn,1,3 • Call UpdateRs(Rs,"edit") • Rs.Update • Rs.Close • End Sub
管理员删除子程序Del() • Private Sub Del() • Call GetFormData() //读表单数据 • sql = "delete from Ok3w_Admin where AdminId=" & AdminId • Conn.Execute sql • End Sub
相关知识 • 常规的数据库操作通过记录集的如下操作进行: • 记录增加(addnew) • 记录修改(update) • 记录指针后移(movenext) • 记录指针前移(MovePrevious) • 记录指针移到第一记录(MoveFirst) • 记录指针移到最后一记录(MoveLast) • 记录删除(delete) • 数据库操作也可通过数据连接对象执行标准的SQL语句实现: • Conn.Execute(Sql) Execute可执行的SQL包括select(查询)、inserte(插入)、delete(删除)、update(修改)等。
三、友情链接管理Sys_link.asp • 作用: • 添加网站友情链接信息 • 修改友情链接信息 • 删除友情链接信息 • 说明: • 一般网站均有友情链接区,用以链接相关网站,属于网络营销的一种手段。 • 友情链接信息存储在表Ok3w_Link表中,包括链接名(Lname)、链接图像地址(Lpic)、链接网页地址(Lurl)、链接类型(Ltype)等字段。 • 链接分为文字链接( Ltype=0)和图像链接( Ltype=1)
子任务三 设置网站友情链接 • 添加嘉兴职业技术学院的图片链接: • 图片地址:http://www.jxveg.org/upfiles/jxvtc.gif • 链接地址:http://www.jxvtc.net • 添加中国太阳能网的图片链接: • 图片地址:http://kc.jxvtc.net/dspt/demo/images/zgtyn.jpg • 链接地址:http://www.etaiyang.com • 添加嘉兴经济贸易委员会网图片链接: • 图片地址: http://kc.jxvtc.net/dspt/demo/images/jxjm. jpg • 链接地址:http://www.jxet.gov.cn • 添加嘉兴中小企业服务网图片链接: • 图片地址:http://www.jxet.gov.cn/images/qxwd/jxsme.jpg • 链接地址:http://www.jxsme.com.cn • 添加嘉兴网交会图片链接: • 图片地址:http://www.jxet.gov.cn/images/qxwd/314000.jpg • 链接地址:http://www.314000.com
从表单中取数据存入内存变量 • Private Sub GetFormData() • Lid = Trim(Request.Form("Lid")) • Lname = Trim(Request.Form("Lname")) • Lpic = Trim(Request.Form("Lpic")) • Lurl = Trim(Request.Form("Lurl")) • Lnote = Trim(Request.Form("Lnote")) • Lorder = Trim(Request.Form("Lorder")) • Ltype = Trim(Request.Form("Ltype")) • If Ltype="" Then Ltype = 0 • Ctype = Trim(Request.Form("Ctype")) • If Ctype="" Then Ltype = 1 • End Sub
UpdateRs 将链接内存变量存入记录 • Private Sub UpdateRs(ByRef clsRs) • 'clsRs("Lid") = Lid • clsRs("Lname") = Lname • clsRs("Lpic") = Lpic • clsRs("Lurl") = Lurl • clsRs("Lnote") = Lnote • clsRs("Lorder") = Lorder • clsRs("Ltype") = Ltype • clsRs("Ctype") = Ctype • End Sub
从记录中取出链接信息存储内存变量 • Public Sub GetRs(ByRef clsRs) • Lid = clsRs("Lid") • Lname = clsRs("Lname") • Lpic = clsRs("Lpic") • Lurl = clsRs("Lurl") • Lnote = clsRs("Lnote") • Lorder = clsRs("Lorder") • Ltype = clsRs("Ltype") • Ctype = clsRs("Ctype") • End Sub
链接信息增加子程序 • Public Sub Add() • Call GetFormData() • Set clsRs = Server.CreateObject("Adodb.RecordSet") • Sql = "select * from Ok3w_Link where 1=2" • clsRs.Open Sql,Conn,1,3 • clsRs.AddNew() • Call UpdateRs(clsRs) • clsRs.Update() • clsRs.Close() • Set clsRs = Nothing • End Sub
链接信息修改子程序 • Public Sub Edit() • Call GetFormData() • Set clsRs = Server.CreateObject("Adodb.RecordSet") • Sql = "select * from Ok3w_Link where Lid=" & Lid • clsRs.Open Sql,Conn,1,3 • Call UpdateRs(clsRs) • clsRs.Update • clsRs.Close • Set clsRs = Nothing • End Sub
链接信息删除子程序 • Public Sub Del() • Call GetFormData() • sql = "delete from Ok3w_Link where Lid=" & Lid • Conn.Execute sql • End Sub
四、后台日志 ad_weblog.asp页 • 作用: • 查看管理员登陆及操作情况 • 删除管理员操作日志 • 说明: • 管理员操作日志存储在Ok3w_Adlog表中,包括管理员帐户名(logUser)、登陆IP地址(logIp)、登陆时间(LogTime)、操作内容(LogInfo)、操作类型(LogType,0为新闻频道,1为软件频道)
代码说明 • action = Trim(Request.Form("action")) • Select Case action • Case "del" • Call Del() • Case "clear" • Call clearLog() • End Select
Private Sub Del() • logId = Trim(Request.Form("logId")) • If logId<>"" Then • sql="delete from Ok3w_Adlog where logId in(" & logId & ")" • Conn.Execute sql • Call SaveAdminLog("删除后台日志,ID=" & logId) • Call ActionOk("ad_weblog.asp") • End If • End Sub
Private Sub clearLog() • Sql = "delete from Ok3w_Adlog where DateDiff('d',LogTime,Date())>=7" • Conn.Execute Sql • Call SaveAdminLog("清空后台日志") • Call ActionOk("ad_weblog.asp") • End Sub