留言簿的制作
- 格式:doc
- 大小:495.00 KB
- 文档页数:10
留言簿的制作一.实验目的掌握动态网站综合设计,深入数据库编程二.实验内容1.样式应用在动态网页中2.配置文件3、调用数据库连接文件4、留言簿制作:界面制作,数据库设计,把留言写入数据库。
5、留言簿显示分页6、留言簿管理回复,删除留言三.实验过程一)总体设计留言簿一般包括留言簿主题,内容,留言人及留言人的相关信息1、数据库设计2、文件设计主页设计提交留言后并能及时显示留言,并时行分页有删除,回复留言的功能。
二)详细设计1、guest.css:用于定义首页的主体字,链接字样式。
应用它时用此句:<link rel="stylesheet" href="guest.css">body{background-color:#FFFFFF}td{font: 12px "宋体", "新宋体"; color:#000033}a{font: 15px "宋体", "新宋体"; color: #6633FF; text-decoration: none}a:hover{color: #FF0033; text-decoration: underline}2、config:调用时<!--#INCLUDE FILE="odbc_connection.asp"--><!--#INCLUDE FILE="config.asp"-->’写在需调用顶部写此两句<%'********************************************'这是配置文件,用来设置所用到的一些常量'********************************************Const GuestTitle="我的留言板" '留言板的名称Const Password="123456" '是回复和删除文档的密码Const PageSize=20 '每页显示多少条记录%>3、Odbc_connection.asp<%'********************************************'这是数据库连接文件,专门用来连接数据库'********************************************Dim dbSet db=Server.CreateObject("Adodb.Connection")db.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.Mappath("guest.mdb") %>4、fuction.asp<%'这里是函数文件,用来保存在各页面中用到的函数'********************************************'该函数用来对客户提交的文本进行处理'这里对很多字符进行了处理,其实也不一定都要处理Function myReplace(myString)myString=Replace(myString,"&","&") '替换&为字符实体&myString=Replace(myString,"<","<") '替换<为字符实体<myString=Replace(myString,">",">") '替换>为字符实体>myString=Replace(myString,chr(13),"<br>") '替换回车符为换行标记<br>myString=Replace(myString,chr(32)," ") '替换空格符为字符实体 myString=Replace(myString,chr(9)," ") '替换Tab缩进符为myString=Replace(myString,chr(39),"´") '替换单引号为字符实体´myString=Replace(myString,chr(34),""") '替换双引号为字符实体"myReplace=myString '返回函数值End Function%>5、index.asp界面制作插入代码<% Option Explicit %><!--#Include File="odbc_connection.asp"--><!--#Include File="config.asp"--><HTML><head><title><%=GuestTitle%></title><link rel="stylesheet" href="guest.css"><script language="JavaScript"><!--//函数check_Null用来进行客户端验证function check_Null(){if (document.form1.title.value==""){alert("主题不能为空!");return false;}if (.value==""){alert("姓名不能为空!");return false;}if (document.form1.title.value.length>100){alert("主题不能超过100个字符");return false;}if (.value.length>30){alert("姓名不能超过30个字符");return false;}return true;}// --></script></head><body ><!--注释:下面要从配置文件中读取常量GuestTitle--><h1 align="center"><%=GuestTitle%></h1><!--注释:下面是提交留言表单,单击提交按钮后,首先会调用上面的客户端验证函数验证,验证通过后,再传送到add.asp,添加完毕后,重定向回本页面--><form method="post" action="add.asp" name="form1" onSubmit="javascript: return check_Null();"><table border="0" width="80%" bgcolor="#203F80" align="center"><tr><td><font color="white">主题:</font></td><td><input type="text" name="title" size="60">** </td></tr><tr><td><font color="white">内容:</font></td><td><Textarea Name="body" Rows="4" Cols="60"></TextArea></td> </tr><tr><td><font color="white">姓名:</font></td><td><input type="text" name="name" size="13">** </td></tr><tr><td><font color="white">email:</font></td><td><input type="text" name="email" size="40"></td></tr><tr><td></td><td><input type="submit" value="提交" Size="20" ></td></tr></table></form><p><%'----------------------------------------------------------------------------------'以下开始显示原有留言Dim rs,strsql'建立Recordset对象,因为要分页显示数据,所以请注意Open方法的参数Set rs=Server.CreateObject("ADODB.Recordset")strsql ="Select * From guest Order By Submit_date Desc"rs.Open strsql,db,1'如果记录集是空的,就停止运行程序,如果非空,就分页显示If rs.Bof Or rs.Eof ThenResponse.Write "<p align='center'>暂时没有留言"Response.EndElse'下面一段判断当前显示第几页Dim page_noIf Session("page_no")="" Then'如是第一次打开,为1page_no=1Session("page_no")=page_noElseif Request.QueryString("page_no")<>"" Then'如果选择了页码,就令其为指定页码page_no=Cint(Request.QueryString ("page_no"))Session("page_no")=page_noElse'其它情况下,则从Session中读取原来的页码page_no=Session("page_no")End If'下面一段开始分页显示,指向要显示的页,然后逐条显示当前页的所有记录。