ASP网页设计课程设计在线通讯录 .doc
郑州轻工业学院课 程 设 计 任 务 书题 目:在线通讯录系统姓 名:×××院(系):×××专业班级:×××学 号:×××指导教师:×××时 间:×××完成期限:×××指导教师签名:×××课程负责人签名:×××目 录课 程 设 计 任 务 书1目 录2摘 要31. 绪 论31.1 主要介绍该题目的相关背景,意义和主要内容31.2 注意31.2.1 注意事项:32. 系统功能分析及功能模块设计33. 数据库设计64. 开发环境配置64.1 配置IIS64.2 配置数据库75. 各个功能模块75.1 主要思路75.2 实现过程85.3 关键代码95.4 开发难点及解决技巧186. 小 结187. 参考文献188. 附 录19摘 要在线通讯录系统是为了实现登陆、显示、添加、删除、修改、查找成员功能的系统。为了保护个人信息,每个人只可以通过密码验证来修改维护个人信息,否则只能浏览个人信息。同时自己也可以查看别人的信息,方便联系。1. 绪 论1.1 主要介绍该题目的相关背景,意义和主要内容 登陆通讯录系统后,可以查看别人的信息但不能修改别人的信息,还可以添加记录,方便大家联系。1.2 注意1.2.1 注意事项:如果登陆不进去,请查看自己的密码是否正确,姓名是否正确,要想修改别人的信息,需要有别人的登陆密码。2. 系统功能分析及功能模块设计1、登陆界面实现用户登陆,没有账号和密码的不允许登陆。2、登陆成功界面,可以浏览其他人的信息,方便联系。也可以修改自己的信息,还可以添加新的记录。3、添加记录界面,可以输入详细的数据信息。4、查找界面。当记录太多时,寻找一个人的记录很费时间。这是用查找功能,很方便的就能要找的信息。5、修改数据,这项是受到保护的。只有正确输入登陆密码才能修改个人信息。6、删除记录。这里只要点击删除就能删除,要慎重删除!3. 数据库设计数据库是利用Access设计的数据库。适合小型网站的使用。4. 开发环境配置4.1 配置IISIIS的配置:对于windowsxp的系统,先下载iis 5.1 完整安装包(适用XP).RAR然后操作:控制面板->添加删除程序->添加删除windows组件。选中internet信息服务(IIS)单击下一步,然后按照提示完成IIS的配置4.2 配置数据库利用Access创建数据库。右击创建的数据库,单击属性。在安全选项卡中选中internet来宾账户,设置为完全控制。如果没有安全选项,在我的打开我的电脑,在工具->文件夹选项->使用简单文件夹共享,然后设置来宾账户。5. 各个功能模块5.1 主要思路登陆界面是通过与数据库中的数据循环比较,搜索符合要求的用户,查找不到时就视为账户不存在或者密码不正确。添加、删除、查找、修改都是通过与数据库中的数据记录相连实现的。5.2 实现过程5.3 关键代码1、连接数据库代码:<%'这是数据库连接文件,专门用来连接数据库。在其他页面中可以包含本页面,就相当于将如下语句写到别的页面中一样。'以下连接数据库,建立一个Connection对象实例connDim conn,strConn Set conn=Server.CreateObject("ADODB.Connection")strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("txl.mdb")conn.Open strConn %>2、登陆界面代码:<html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>登陆界面</title></head><body background="tp/go.jpg" topmargin="180"><form name="frmgo" method="post" action="goin.asp"><table border="1" width="15%" align="center" ><caption align="center" valign="top">登陆界面</caption><tr><td bgcolor="#0066FF">姓名</td><td bgcolor="#FFCCFF"><input type="text" name="txtname" size="20"></td></tr><tr><td bgcolor="#0066FF">密码</td><td bgcolor="#FFCCFF"><input type="password" name="txtpw" size="20"></td></tr></table><p align="center"><input type="submit" name="btnsubmit" value=" 登 陆 "><input type="reset" value=" 重 置 " name="B4"> </p></form></body></html>3、登陆界面姓名和密码验证代码:<!-#Include File="odbc_connection.asp"-><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>密码错误重新登陆</title></head><body><%username=trim(request.form("txtname") password=trim(request.form("txtpw")dim rs,strsqlstrsql="select * from txl"set rs=conn.execute(strsql) '返回整个数据表do while not rs.eof if username=rs("strname") and password=rs("pw") then response.redirect "index.asp" exit do else response.write("<script>alert('资料输入错误,请返回重新输入!');history.go(-1)</script>") end if rs.movenextloop rs.closeset rs=nothing set conn=nothing%></body></html>4、登陆成功界面代码:<!-#Include File="odbc_connection.asp"-><html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>在线通讯录</title></head><body background="tp/5.jpg"><h1 align="center"><font color="#0066FF">我的在线通讯录</font></h1><%dim rs,strsqlstrsql="select * from txl"set rs=conn.execute(strsql) '返回整个数据表%><a href="insert.asp">添加记录</a><a href="find.asp">查找</a><table border="1" width="100%" align="center"><tr bgcolor="#FFCC33"><th>姓名</th><th>性别</th><th>年龄</th><th>电话</th><th>E-mail</th><th>简介</th><th>添加日期</th><th>删除</th><th>修改</th></tr><% do while not rs.eof '只要不是结尾就执行循环 %> <tr bgcolor="#FF99FF"> <td><%=rs("strname") %></td> <td><%=rs("strsex")%></td> <td><%=rs("intage")%></td> <td><%=rs("strtel")%></td> <td><a href="mailto:<%=rs("stremail")%>"><%=rs("stremail")%></a></td> <td><%=rs("strintro")%></td> <td><%=rs("dtmsubmit")%></td> <td><a href="delete.asp?ID=<%=rs("ID")%>">删除</a></td><td><a href="pwcheck.asp?ID=<%=rs("ID")%>&pw=<%=rs("pw")%>">修改信息</a></td> </tr> <% rs.movenext loop %> </table></body></html>5、添加记录代码:<!-#Include File="odbc_connection.asp"-><html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>添加记录</title></head><body background="tp/2.jpg"><h2 align="center">添加新录</h2><form name="frminsert" method="post" action=""><p align="center"><font color="#FF0033">其中带*号的必须填写</font><table border="1" width="30%" align="center"><tr><td>姓名</td><td><input type="text" name="txtname" size="20">*</td></tr><tr><td>密码</td><td><input type="password" name="txtpw" size="20">*</td></tr><tr><td>性别</td><td><input type="radio" name="rdosex" value="男">男<input type="radio" name="rdosex" value="女">女</td></tr><tr><td>年龄</td><td><input type="text" name="txtage" size="4"></td></tr><tr><td>电话</td><td><input type="text" name="txttel" size="50"></td></tr><tr><td>E-mail</td><td><input type="text" name="txtemail" size="50"></td></tr><tr><td>个人简介</td><td><textarea name="txtintro" rows="5" cols="100"></textarea></td></tr></table><p align="center"><input name="tj" type="image" src="tp/tijiao.jpg" border="0"><input type="reset" name="btnReset" value="取消" > </form> <% if request.Form("txtname")<>"" and request.Form("txtpw")<>"" then dim strname,strsex,intage,strtel,stremail,strintro,password strname=request.Form("txtname") strsex=request.Form("rdosex") intage=request.Form("txtage") strtel=request.Form("txttel") stremail=request.Form("txtemail") strintro=request.Form("txtintro") pw=request.Form("txtpw") dim strsql strsql="insert into txl(strname,strsex,intage,strtel,stremail,strintro,dtmsubmit,pw) values('"& strname & "','" & strsex & "'," & intage & ",'" & strtel & "','" & stremail & "','" & strintro & "',#" & date() & "#,'" & pw & "')" conn.execute(strsql) '添加成功后返回首页 response.Redirect"index.asp" end if %></body></html>6、查找记录代码:<!-#Include File="odbc_connection.asp"-><html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>查找信息</title></head><body background="tp/1.jpg"><h2 align="center">查找记录信息</h2><form name="frmsearch" method="post" action="">请输入要查找的姓名:<input type="text" name="txtname" /><input type="submit" name="btnsubmit" value="确 定" /></form><% if request.Form("txtname")<>"" thendim rs,strsqlstrsql="select * from txl where strname like '%" & request.Form("txtname") & "%'"set rs=conn.execute(strsql) %> <table border="1" width="100%" align="center"> <tr bgcolor="#FFCC33"> <th>姓名</th><th>性别</th><th>年龄</th><th>电话</th><th>E-mail</th><th>简介</th><th>添加日期</th></tr><% do while not rs.eof %><tr bgcolor="#FF99FF"> <td><%=rs("strname")%></td> <td><%=rs("strsex")%></td> <td><%=rs("intage")%></td> <td><%=rs("strtel")%></td> <td><a href="mailto:<%=rs("stremail")%>"><%=rs("stremail")%></a></td> <td><%=rs("strintro")%></td> <td><%=rs("dtmsubmit")%></td></tr><% rs.movenext loop %> </table> <% end if %></body></html>7、修改记录信息代码:A、密码验证:<html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>密码验证</title></head><body background="tp/7.jpg"><p><font color="#FF0033">!为了保护个人信息请输入正确修改密码才能进行修改信息!</font><form name="mm" method="post" action=""><p>密码:<input type="password" name="pw2" size="20"><input name="tj" type="image" src="tp/tijiao.jpg" border="0"> </form><%session("ID")=request.QueryString("ID")if request.QueryString("pw")<>request.Form("pw2") then response.Write "<p><font color='#ff0033'>对不起,输入密码不正确,您没有修改权限!</font> <a href='index.asp'><img src='tp/back.jpg'></a>"else response.Write "<p><a href='update_form.asp'>密码正确,可以修改</a>"end if%></body></html>B、密码验证成功,读取数据并修改:<!-#Include File="odbc_connection.asp"-><html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>个人信息修改</title></head><body background="tp/6.jpg"><h2 align="center">更新个人信息</h2><%dim strsql,rsstrsql="select * from txl where ID=" & session("ID")set rs=conn.execute(strsql) '下面将符合要求的记录显示在表单里 %> <form name="frmupdate" method="post" action="update.asp"> <table border="1" width="40%" align="center"> <tr> <td>姓名</td><td><input type="text" name="txtname" size="20" value="<%=rs("strname")%>">*</td> </tr> <tr> <td>密码</td><td><input type="password" name="txtpw" size="20" value="<%=rs("pw")%>">*</td> </tr> <tr> <td>性别</td><td><input type="radio" name="rdosex" value="男" <% if rs("strsex")="男" then response.write"checked" %>>男 <input type="radio" name="rdosex" value="女" <% if rs("strsex")="女" then response.write"checked" %>>女</td> </tr> <tr> <td>年龄</td><td><input type="text" name="txtage" size="4" value="<%=rs("intage")%>"></td> </tr> <tr> <td>电话</td><td><input type="text" name="txttel" size="40" value="<%=rs("strtel")%>"></td> </tr> <tr> <td>E_mail</td><td><input type="text" name="txtemail" size="50" value="<%=rs("stremail")%>"></td> </tr> <tr> <td>个人简介</td><td><textarea name="txtintro" rows="5" cols="100"><%=rs("strintro")%></textarea></td> </tr> </table> <p align="center"><input type="hidden" name="txtID" value="<%=rs("ID")%>"><input type="submit" name="btnsubmit" value="确定"> </p> </form> </body></html>C、修改后输入插入数据库代码:<!-#Include File="odbc_connection.asp"-><html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>更新个人信息执行程序</title></head><body background="tp/11.jpg"><%session.Abandonif request.Form("txtname")<>"" and request.Form("txtpw")<>"" thendim ID,strname,strsex,intage,strtel,stremail,strintro,pwID=request.Form("txtID")strname=request.Form("txtname")strsex=request.Form("rdosex")intage=request.Form("txtage")strtel=request.Form("txttel")stremail=request.Form("txtemail")strintro=request.Form("txtintro")pw=request.Form("txtpw")dim strsqlstrsql="update txl set strname='"& strname & "',strsex='" & strsex & "',intage="& intage &",strtel='" & strtel &"',stremail='" & stremail & "',strintro='" & strintro &"',dtmsubmit=#" & date() & "#,pw='" & pw & "'where ID=" & IDconn.execute(strsql)response.Redirect "index.asp"elseresponse.Write "姓名和密码必须填写"response.Write "<a href='index.asp'>重新填写</a>"end if%></body></html>8、删除数据代码:<!-#Include File="odbc_connection.asp"-><%dim strsqlstrsql="delete from txl where ID=" & request.QueryString("ID")conn.execute(strsql)'删除完毕后返回首页response.Redirect "index.asp" %>5.4 开发难点及解决技巧连接数据库挺麻烦的,不过我没有用数据源,连接还是很速度的,比较方便。数据库中不要使用关键字、保留字,不然向数据库插入数据时会出现insert into语法错误。登陆界面姓名和密码的验证是个难点,利用数据库中数据的循环比对可以解决。修改数据时需要验证密码,可以使用url传递,但是这个不安全,还可以使用session等方式传递密码,比较安全。6. 小 结在线通讯录系统,实现的功能比较简单。要想做出复杂的通讯系统,还需要付出很多努力。该系统有很大缺陷,登陆成功的每一位成员都可以删除记录,这对数据安全存在很大隐患。删除应该只有管理员才能删除,所以完善系统时要添加管理员和各成员不同的登陆界面。密码的传递是使用url传递的,登陆成功的每一位成员都可以看到各个成员的修改密码。所以密码的验证传递要用其他的方式传递,不要用url传递,不安全!添加数据时如果没有输入年龄就会出现错误,而设计时没有要求年龄必须输入,所以年龄的输入是个主意事项!7. 参考文献1 教材2网上搜索代码8. 附 录课程设计成绩评定表评定项目内 容满分评分总分学习态度学习认真,态度端正,遵守纪律。10答疑和设计情况认真查阅资料,勤学好问,提出的问题有一定的深度,分析解决问题的能力较强。40说明书质量设计方案正确、表达清楚;设计思路、实验(论证)方法科学合理;达到课程设计任务书规定的要求;图、表、文字表达准确规范,上交及时。40回答问题情况回答问题准确,基本概念清楚,有理有据,有一定深度。10总成绩采用五级分制:优、良、中、及格、不及格指导教师评语: 签名: 年 月 日