当前位置:编程学习 > asp >>

跟我学做留言本(三)

答案:上二篇里,我们已经把留言本的功能、数据库、文件、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=><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>&gt;&gt; </B><A
href=> href=> <%if session("lybmanage")="" then%>
<A href=> <%else%>
<a href=> <%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>

上一个:不用编程,得到一个用户QQ在线状态
下一个:跟我学做留言本(一)

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,