|
上二篇里,我们已经把留言本的功能、数据库、文件、CSS等都设计好 了,现在我们要来完成代码部份。 一、包含函数库 <!--#include file="operation$db.asp" -->
在文件第一行加上包含语句 二、根据action 参数来判断 <% action=request("action") select case action case "logout" logout '退出登录子程序 case "login" login '登录子程序 case "replay" replay '回贴子程序 case "delete" '表示删除贴子 if session("lybmanage")="" then '如果还没有登录, response.redirect "index.asp?action=manage" '就显示登录界面 else delete '否则,去删除贴子 end if case "addrec" '增加新贴子 addrec() '加入新贴 response.redirect "index.asp" '然后转到初始页 case "modify" '表示修改留言本信息 if session("lybmanage")="" then '如果还没有登录, response.redirect "index.asp?action=manage" '就显示登录界面 else modify '否则,修改信息 response.redirect "index.asp" '然后,回初始页面 end if end select %>
三、根据上面的action,要有以下几个子程序 <% '退出登录子程序 sub logout() '删除session变量lybmanage session.contents.remove "lybmanage" '转到初始页面 response.redirect "index.asp" end sub
'登录子程序 sub login() '取得登录参数 user=request.form("user") pwd=request.form("pwd") if user<>"" and pwd<>"" then '参数都不为空时才检查 opendb my '打开数据库连接 '定义SQL查询,寻找用户名相等的记录 sql="select * from admin where admin_user='"&user&"'" '查询表用于读 searchtable my,sql,rs if not rs.eof then '如果有这样的用户 if pwd=rs("admin_pass") then '判断密码是否相等 session("lybmanage")=user '相等,就记录到session变量里 end if end if end if response.redirect "index.asp" '不管登录与否,都回到初始页面 end sub
'修改留言本信息子程序 sub modify() '取得密码 pwd=request.form("pwd") if pwd="" then exit sub '没有密码不修改 newpwd=request.form("newpwd")'取得新密码 opendb my '打开数据库连接 '定义SQL查询语句 sql="select * from admin where admin_user='"&session("lybmanage")&"'" '打开表用于读 changetable my,sql,rs if not rs.eof then '下面修改信息 if pwd=rs("admin_pass") then if newpwd<>"" then rs("admin_pass")=newpwd end if rs("admin_nick")=request.form("nick") rs("admin_name")=request.form("name") rs("admin_homepage")=request.form("homepage") rs("admin_perpage")=request.form("perpage") rs.update end if end if '关闭表和数据库连接 closetable rs closedb my '完成后转到初始页面 response.redirect "index.asp" end sub
'回复子程序 sub replay() '如果没有登录,直接退出 if session("lybmanage")="" then exit sub '取得表单内容 rep=pro(request.form("rep")) id=request.form("id") '打开数据库连接 opendb my '定义SQL查询 sql="select * from main where user_id =" & id '打开表用于写 changetable my,sql,rs '写入 rs("user_replay")=true rs("user_rep")=rep rs("user_reptime")=now() rs.update '关闭表和数据库连接 closetable rs closedb my '转到初始页 response.redirect "index.asp" end sub
'删除贴子程序 sub delete() '如果没登录,直接退出 if session("lybmanage")="" then exit sub '取得删除的贴子的ID id=request("id") '打开数据库连接 opendb my '定义SQL查询 sql="select * from main where user_id =" & id '打开表用于写 changetable my,sql,rs '删除贴 rs.delete rs.update '关闭表和数据库连接 closetable rs closedb my '转到初始页面 response.redirect "index.asp" end sub
'加新贴子程序 sub addrec() '打开数据库连接 opendb my '定义SQL查询 sql="select * from main where user_id is null" '打开 changetable my,sql,rs '加入新记录 rs.addnew rs("user_ip")=request.servervariables("remote_addr") rs("user_name")=request.form("name") rs("user_email")=request.form("email") rs("user_oicq")=request.form("oicq") rs("user_from")=request.form("from") rs("user_http")=request.form("http") rs("user_face")=request.form("face") '留言的内容要处理一下再入库 rs("user_ly")=pro(request.form("ly")) rs.update '关闭表和数据库连接 closetable rs closedb my end sub %>
四、在<html>标签之前,还要加入读取留言本信息的程序段,用来显示导航条 <% opendb my opentable my,"main",rs homepage=rs("user_homepage") name=rs("user_nick") user=rs("user_name") perpage=rs("user_perpage") closetable rs closedb my %>
五、现在来完成最重要的几个部份,也就是在<html></html>之间的部份。 有这么几个: 最开始是显示一个简单的导航条 <A HREF="#top"></A> <TABLE cellSpacing=0 cellPadding=1 width=650 align=center bgColor=#000000 border=0> <TBODY> <TR> <TD> <TABLE class=table002 cellSpacing=0 cellPadding=4 width=650 border=0> <TBODY> <TR> <TD class=jnfont5 vAlign=center align=left><B>>> </B><A href="<%=homepage%>" title=返回主页>主页</A> | <A href="index.asp?action=showmodify" title=编辑你的个人资料>修改资料</A> | <%if session("lybmanage")="" then%> <A href="index.asp?action=manage" title=回复或删除留言>留言管理</A> <%else%> <a href="index.asp?action=logout" title=退出管理模式>退出管理</a> <%end if%> </TD> <TD class=jnfont5 vAlign=center align=right> <%=name&"留言薄"%> </TD> </TR></TBODY></TABLE></TD></TR></TBODY></TABLE> <br>
然后根据参数选择后面要显示的部份 <%action=request("action") select case action case "" showadd showrec case "showmodify" if session("lybmanage")="" then showlogin else showmodify end if case "manage" if session("lybmanage")="" then showlogin else showadd showrec end if end select%>
下面是这几个子程序: showadd 显示加新贴表单子程序 <%sub showadd()%> <DIV align=center> <FORM onsubmit="return Juge(this)" action="index.asp" method="post"> <TABLE cellSpacing=1 cellPadding=3 width=650 bgColor=#000000 border=0> <TBODY> <TR> <TD class=table001 vAlign=top width=300 height=170> <TABLE cellSpacing=2 cellPadding=2 width="95%" border=0> <TBODY> <TR> <TD width="9%" align="center"><IMG height=24 src="images/nc.gif" width=24></TD> <TD class=jnfont3 width="14%">姓名</TD> <TD width="77%"><INPUT class=input1 maxLength=20 name=name> <INPUT type=hidden value=<%%> name=user> </TD></TR> <TR> <TD width="9%" align="center"><IMG height=16 src="images/email.gif" width=16 border=0></TD> <TD class=jnfont3 width="14%">Email</TD> <TD width="77%"><INPUT class=input1 maxLength=100 name=email> </TD></TR> <TR> <TD width="9%" align="center"><IMG height=16 src="images/from.gif" width=16></TD> <TD class=jnfont3 width="14%">来自</TD> <TD width="77%"> <select size=1 name=from> <option value=北京>北京 <option value=广东>广东 <option value=上海>上海 <option value=新疆>新疆 <option value=辽宁>辽宁 <option value=广西>广西 <option value=海南>海南 <option value=湖南>湖南 <option value=甘肃>甘肃 <option value=河北>河北 <option value=湖北>湖北 <option value=江西>江西 <option value
|