我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp未分类 > 跟我学做留言本(三)
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

跟我学做留言本(三) 

作者:佚名   来源:一亩三分地   点击:   日期:2007-03-30

上二篇里,我们已经把留言本的功能、数据库、文件、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>&gt;&gt; </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


文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。