为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

电子相册课程设计

2019-01-18 50页 doc 139KB 56阅读

用户头像

is_686908

暂无简介

举报
电子相册课程设计课程设计报告 课程名称: 程序设计课程设计 课程设计题目: 电子相册 姓名: 郭颖 系: 计算机 专业: 计算机科学与技术 年级: 大三 学号: 201110311091 指导教师: 杨旸 职称: 副教授     2013年  12月  19日 目        录 1设计目的……………………………………………………………………页3码 2 设计题目及要求……………………………………………………页3码 3设计算法分析………………………………………………………………...
电子相册课程设计
课程设计报告 课程名称: 程序设计课程设计 课程设计题目: 电子相册 姓名: 郭颖 系: 计算机 专业: 计算机科学与技术 年级: 大三 学号: 201110311091 指导教师: 杨旸 职称: 副教授     2013年  12月  19日 目        录 1设计目的……………………………………………………………………页3码 2 设计题目及要求……………………………………………………页3码 3设计算法分析………………………………………………………………页3码 3.1 模块层次图………………………………………………………页3码 3.2 核心算法描述………………………………………………………页4码 3.3 系统特点………………………………………………………页5码 4程序代码……………………………………………………………………页5码 5调试情况……………………………………………………………………页49码 6结论…………………………………………………………………………页49码 参考文献  ………………………………………………………………页49码 1. 设计目的 本课程设计的目的就是要通过一次集中的强化训练,使学生能及时巩固已学的知识,补充未学的但又必要的内容。进行课程设计目的在于加深对程序设计基础中基础理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计的能力。具体目的如下: 1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。 2.培养学生综合运用所学知识独立完成课题的能力。 3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。 5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、面及口头达能力进行考核。 2. 设计题目及要求 【1】设计题目 电子相册 【2】要求 实现如下功能: (1) 使用数据库记录相片的信息(图片名称,存放位置,说明信息等) (2) 能够方便的浏览相片 (3) 图片管理。图片管理主要包括复制,删除等操作。 (4) 图片上传。 (5) 登录、注册功能的实现。其中包括修改个人信息,发表评论。 3. 设计算法 3.1 模块层次图 【1】系统文件列表 文件名 说明 index.asp 图片浏览主页面 add_pic.asp 增加图片页面 del_pic.asp 删除图片文件 head.asp 头部结构页面 pic_dl.asp 用户登录页面 pic_zc.asp 用户注册页面 pl_pic.asp 图片评论页面 scflie.asp 上传图片文件到服务器端文件夹,并把相应信息增加到数据库 upload_class.inc 自定义上传图片类     【2】系统模块层次图(设计图) 3.2 核心算法描述 ①head.asp中利用一个条件结构判断用户是否登录,然后根据不同情况显示系统标题和导航提示信息。 ②index.asp中用循环结构分别显示所有记录集页码。以及对多种条件的复杂判断,并根据不同的条件定义不同的记录集查询条件。 3.3 系统特点 【1】特点 本系统是动态网页系统,不同于CD/VCD等静止图片的应用系统。利用网页管理图片,是一个多用户环境下的网页图片管理系统。它可以实现图片上传、网上管理、网上浏览和交流的功能。 【2】分工 数据库设计:存储图片信息 电子相册浏览与管理:1.注册、登录和用户信息操作 2.浏览图片 3.图片评论 4.删除服务器上的图片文件 4. 程序代码 【1】程序代码 1 conn.asp —数据库连接文件 <%'如果出错,则跳出下一步 on error resume next '定义一个数据库连接对象的具体实例 set conn=server.createobject("adodb.connection") '打开该数据库连接 conn.open  MM_conn_STRING %> <%'自定义函数 Function SetPwd(sPwd) sSql = "" For i = 1 To Len(sPwd) If btype = True Then sSql = sSql & Chr(-Asc(Mid(sPwd, i, 1)) - 10000) Else sSql = sSql & Chr(-Asc(Mid(sPwd, i, 1)) - 10000) End If Next SetPwd = sSql End Function Function Xszh(zh)'转换参数中特殊字符 if zh<>"" and not isnull(zh) then zh=replace(zh,"  ","  ") zh=replace(zh,"€","'") zh=replace(zh,chr(13),"
") zh=lcase(zh) zh=replace(zh,"","") zh=replace(zh,"</body>","</body>") zh=replace(zh,"<td","<td") zh=replace(zh,"</table>","</table>") zh=replace(zh,"</tr>","</tr>") zh=replace(zh,"<input","<input") zh=replace(zh,"<!doctype","<doctype") zh=replace(zh,"</td>","</td>") zh=replace(zh,"<a ","<a target=_blank") zh=replace(zh,"<input","<input") zh=replace(zh,"<!doctype","<doctype") xszh = zh end if End Function Function Zpxr(zp)'清除字符串中特殊的字符 if zp<>"" then zp=replace(zp,",","") zp=replace(zp,"'","") zp=replace(zp,"/","") zp=replace(zp,"\","") end if End Function Function Xrzh(zh) if zh<>"" then zh=replace(zh,"'","€") Xrzh = zh end if End Function Function Yzm() CYZM = cstr( Replace(Timer(), ".", "") * Rnd() Mod 10000) for i = 1 to len(cyzm) zyzm = zyzm + mid( cyzm ,len(cyzm) - i + 1 ,1 ) next if len( zyzm ) < 4 then zyzm = "0" + zyzm if len( zyzm ) < 3 then zyzm = "00" + zyzm if len( zyzm ) < 2 then zyzm = "0000" + zyzm Yzm = zyzm End Function Function BQ() bq = yr_ban+"     "+yr_yr+"     2006©" End Function Function JSZC() jszc="<a href='#' target=_bank>     Power By aHo</a>" End function function bb() bb="电子相册" end function function jdsj() jdsj = right(cstr(date()),len(cstr(date()))-2)+" "+left(cstr(time()),instrrev(cstr(time()),":")-1) end function%> <base onmouseover="window.status='<%=bb%>';return true"> 2 pic_zc.asp —用户注册页面 <!--#include file="conn.asp"--> <htm> <head> <script language='javascript'> function xgjc(mm) { if(mm=="") {alert('密码不能为空!'); document.de.mm.focus(); return false;} if(mm.indexOf("'")>=0 ||mm.indexOf("<")>=0 ||mm.indexOf(">")>=0 ||mm.indexOf(".")>=0) { alert('不能有乱码!'); document.de.mm.focus(); return false; }} function zcjc(yhm,mm) { if(yhm=="") {alert('用户名不能为空!'); document.zc.yhm.focus(); return false;} var aa =""; aa = yhm.substring(0,1); if((aa<='z'&&aa>='a')||(aa<='Z'&&aa>='A')) {} else {alert('首位不是字母!'); document.zc.yhm.focus(); return false;} if(yhm.indexOf("'")>=0 ||yhm.indexOf("<")>=0 ||yhm.indexOf(">")>=0 ||yhm.indexOf(".")>=0) {alert('用户名不能有乱码!'); document.zc.yhm.focus(); return false;} if(mm=="") {alert('密码不能为空!'); document.zc.mm.focus(); return false;} if(mm.indexOf("'")>=0 ||mm.indexOf("<")>=0 ||mm.indexOf(">")>=0 ||mm.indexOf(".")>=0) {alert('不能有乱码!'); document.zc.mm.focus(); return false;} } </script> <link rel="stylesheet" href="images/style.css" type="text/css"> <title>注册 <%cz=request.querystring("cz") mm=request.form("mm") yhm=request.form("yhm") qx=request.form("qx") xb=request.form("xb") if cz="xgxg" and mm<>"" and yhm<>"" then exec="update admin set pass='"+setpwd(mm)+"',lx='"+qx+"',xb='"+xb+"' where yhm='"+yhm+"'" conn.execute exec conn.close session("picpass") = mm session("picqx") = qx session("picqx")= xb%> <%end if if cz="zccg" and mm<>"" and yhm<>"" then ''判断是否重复 set rs=server.createobject("adodb.recordset") exec="select * from admin where yhm='"+yhm+"'" rs.open exec,conn,1,1 if rs.eof then yhm=xrzh(yhm) exec="insert into admin (xb,yhm,pass,jb,rq,lx) values ('"+xb+"','"+yhm+"','"+setpwd(mm)+"','1','"+cstr(date())+"','"+qx+"')" conn.execute exec conn.close session("picyhm") = yhm session("picxb") = xb session("picjb") = "1" session("picpass") = mm session("picqx") = qx%> <%else%> <%end if end if%>

 

<%if cz="" then%>
用户名
密码
性别
浏览范围 本人 公共
    
<%else%>
用户名: " readonly="">
新密码: ">
性别 > 男 > 女
浏览范围 > 本人 > 公共
    
<%end if%> 3 pic_dl.asp —用户登录页面 用户登录 <% '获取表单信息 yhm=request.form("yhm") pass=request.form("pass") dz=request.querystring("dz") pass=setpwd(pass) '用自定义函数加密密码 if dz="exit" then'如果用户执行退出功能,则清空session变量 session("picyhm")="" session("picpass")="" session("picjb")="" end if if yhm<>"" and dz="sc" then'判断用户名是否为空,以及是否是注册操作 set rs=server.createobject("adodb.recordset")'定义记录集,查询该用户名的记录 exec="select * from admin where yhm='"+yhm+"' and jb<>'0'" rs.open exec,conn,1,1 if not rs.eof then '如果存在用户名,则保存该用户记录字段信息 grmm=rs("pass") xb=rs("xb") rq=rs("rq") jb=rs("jb") if pass<>grmm then    response.redirect "pic_dl.asp"'比较输入的密码是否符合,不合法则重新登录 else'如果不存在该用户名,则重新登录 response.redirect "pic_dl.asp" end if '登陆成功则保存该用户记录信息,并记住该用户的IP地址,最后返回到index.asp session("picyhm")=yhm session("picpass")=pass session("picjb")=jb session("picqx")=rs("lx") session("picxb")=rs("xb") session("picip")=request.servervariables("remote_addr") response.redirect "index.asp" end if %>
用户名
密码
4 head.asp —头部结构页面

电子相册

 
<%if session("picyhm")="" then%>
目前您没有登录 登录   注册     
<%else%> 欢迎<%=session("picyhm")%>进入
修改信息   退出     
<%end if%>
5 index.asp —图片浏览主页面 电子相册 <%'******************************************************************************* '删除指定用户信息和评论内容 zt=request.querystring("zt") id = request.QueryString("id") if id <> "" then exec = "delete from admin where yhm = '" + id + "'" conn.execute exec exec = "delete from pl where yhm = '" + id + "'" conn.execute exec conn.close response.Redirect("index.asp") end if '******************************************************************************* %> <%'******************************************************************************* '定义记录集获取注册用户信息 set rs=server.createobject("adodb.recordset") exec="select * from admin order by id desc" rs.open exec,conn,1,1 '获取传递的参数 page1 =int(Request.QueryString("page1")) '指定每页显示的记录数 rs.PageSize =8 '判断页码变量值超出指定范围的处理 If page1 < 1 Then  page1 = 1 If page1 > rs.PageCount Then  page1 = rs.PageCount '指定当前要显示的页数 if not rs.eof then    rs.AbsolutePage =page1 '循环显示注册用户记录 for i = 1 To rs.PageSize '判断如果记录集没有则跳出循环 If rs.EOF Then  Exit For '获取记录集中的用户名 yhm = rs("yhm") if rs.eof then exit for '新定义一个记录集,查询符合该用户名的上传图片信息 set rs1=server.createobject("adodb.recordset") exec="select * from zp where yhm='" + yhm + "'" rs1.open exec,conn,1,1 '获取记录数 gs = rs1.recordcount '获取用户权限 qx=session("picqx")%> ><%=rs("yhm")%> <%=rs("xb")%> <%=gs%>张照片 <%'判断,如果不是admin管理员,同时没有上传图片,而且所操作的记录不是admin,则显示删除链接 if session("picjb")="admin" and gs = 0 and rs("jb")<>"admin" then%> 删除 <%end if%> <%rs.movenext next '******************************************************************************* %> 查看全部照片
第 <%'******************************************************************************* '循环显示页数链接,如果是当前页则不显示中括号标记 for j=1 to rs.PageCount%> <%if j=page1 then response.write j else response.write  "["+cstr(j)+"]" end if%> <%next if rs.recordcount=0 then response.Write("0") '******************************************************************************* %> 页

<%'************************************************************************************* '定义记录集,获取上传图片信息 set rs=server.createobject("adodb.recordset") '如果退出,则清空登录用户变量 cz=request.querystring("cz") if cz="exit" then session("picyhm")="" session("picjb")="" session("picpass")="" response.redirect "index.asp" end if '判断主题是否为空,为空则显示所有图片 if zt="" then zt="qb" '判断是否显示全部图片 if zt="qb" then '判断如果是管理员,则显示所有图片 if session("picjb")="admin" then exec="select * from zp order by id desc" '否则只显示被公开浏览的图片或者登录用户自己上传图片 else exec="select * from zp where lx='1' or yhm='"+session("picyhm")+"' order by id desc" end if '当主题不为空时 else if zt<>"" then '判断如果是管理员或者登录用户,则查询该主题下的所有图片 if session("picjb")="admin" or session("picyhm")=zt then exec="select * from zp where yhm='"+zt+"' order by id desc" '否则,就只能显示主题下的所有公开图片 else exec="select * from zp where yhm='"+zt+"' and lx='1' order by id desc" end if else '如果主题为空,则按登录用户信息查询 exec="select * from zp where yhm='"+session("picyhm")+"' order by id desc" end if end if '******************************************************************************* %> <% '******************************************************************************* rs.open exec,conn,1,1 '获取页码数 page =int(Request.QueryString("page")) '指定每页显示页数 rs.PageSize =16 '判断,并处理特殊页码 If page < 1 Then  page = 1 If page > rs.PageCount Then  page = rs.PageCount if not rs.eof then    rs.AbsolutePage =page h=1 '循环显示图片 for i = 1 To rs.PageSize If rs.EOF Then  Exit For%> <%'横向循环显示 for j=1 to 4 If rs.EOF Then  Exit For '如果评论数为空,则设置为0 if not isnull(rs("pls")) then pls=rs("pls") else pls="0" end if%> " target="_blank">" border="0" height="80" width="100" title="<%=rs("zt")%>(<%=rs("wjdx")%>)">
/
本文档为【电子相册课程设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索