网页开发与设计实训基于web的同学录系统设计大学论文.doc
网页开发与设计实训报告 学生姓名: 学 号: 学 院:专 业: 题 目:基于web的同学录系统设计指导教师 2013年12月8日目录1. 设计任务概述1.1 项目背景1.2 系统需求分析 系统功能分析1.3 数据库设计1.4 小组分工2. 功能模块详细设计2.1 详细设计思想2.2 核心代码2.3 程序运行结果(截图)3.课程设计心得 1. 设计任务概述(包括系统总体框图及功能描述)1) .项目背景同学录是一种为用户提供网上交流、聚会的网络工具,它可以提供用户与朋友、同学、老师等在网上有一个相互交流的机会。 过去的种种陈旧的联系方式,已经不能满足现代生活的需要。同学录作为一种方便校友之间联系的实用系统便应运而生。同学录为校友之间进行交流和联系提供了一个平台。通过提供完善的同学录服务和规范同学录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。目前网络上已经存在很多同学录,像人人、网易、新浪等。我们将设计一个同学录管理网站,以友好的界面,快捷的操作完成强大的功能,虽然这个同学录目前还有许多的不足之处,但是我们会不断的进行完善。本系统构建成功后将是一个非常实用的作品。随着一届毕业生即将离开校门,又一届新生将走进大学。无论是在学校的学生,还是离校毕业生,他们都可以通过这个网络虚拟的世界重温学生时代美好的时光。 正是类似此系统类型的网站的设计才拉近了人们的距离。人们的沟通娱乐不在局限在现实的世界。我们会继续努力,争取将作品投入使用。希望它能够给用户一个完美的使用空间。2) 需求分析(1) 目标本系统是基于Web的同学录管理系统的设计与实现,包括同学录网站首页、班级留言、班级列表、联系方式等功能模块。主要实现用户的登录和注册、加入创建班级,班级通讯录,公共留言板,退出登录等功能。(2) 运行环境:PHP+MySQL+Apache编译平台Dreamweaver8(3) 外部接口需求1. 操作界面友好,清晰,功能多,操作简单,查询功能强大,出现错误会有提示信息,含有帮助信息,方便用户使用2. 数据库设计合理减少冗余数据,提高系统效率3. 系统具有灵活、严格的权限设定功能,采用非常周密有效的权限设置,确保同学各类资料的可靠性和保密性,防止错误和违规操作。(4) 功能需求同学录总功能模块图注册登录密码找回修改密码班级管理班级留言本班级名片后台管理员管理帮助用户管理员院系管理后台添加管理员后台管理系统公告后台管理功能模块图删除管理员管理员对功能的需求:登陆注册管理员,在后台可以发布、修改、删除公告。前台同学录前台院系管理班级管理班级留言本管理个人名片管理帮助添加院系添加班级添加个人名片删除个人名片删除班级添加留言删除留言日和加入班级如何让找回密码删除院系用户对功能的需求:1.登录退出:实现多用户的登录,可注册用户,以个人用户身份登录。退出系统时,直接退出即可。2.密码找回:通过密保问题及密保答案可修改密码。3.加入班级:可以加入查询到的班级,填写个人信息等。添加新班级班级管理删除已有班级修改已有班级信息班级管理功能模块图4.班级管理:没有查到班级,可以创建新班级。添加新院系院系管理删除已有院系院系管理功能模块图5.院系管理:可以添加删除院系。6.班级留言:可以添加班级留言,查看班级留言。添加班级成员信息班级名片删除班级成员信息修改班级成员信息班级名片管理功能模块图7.班级成员信息管理:可以浏览班级所有用户的普通信息。对班级成员信息进行添加删除修改。添加个人信息个人名片删除个人信息修改个人信息个人名片管理功能模块图8.个人信息管理:可以对个人信息进行添加删除修改的功能系统的业务流程图登陆未注册填写资料成功返回主页面已注册进入主页添加个人名片进入班级查找班级添加班级信息查看班级公告已有班级加入班级管理员密码管理员登陆公告信息管理员管理添加删除公告添加删除管理员退出前台主页面立即注册成功没有班级创建班级发表公告(5)对性能的需求数据及精确度:输入数据符合数据特性灵活性:能适应windows操作系统,可在IE浏览器上稳定运行(6)安全性需求一次只能登陆一名用户,由于软件为本地软件,安全性较好,需要用户记住个人密码,没命用户都需要注意密码的安全性与保密性对加入班级等操作有权限设置,登录的用户才有权限进行操作。3) 数据库设计用户表user 留言表message班级表class系统公告表call-board管理员表administrator功能模块详细设计2.1 详细设计思想小组设计的是基于web的同学录系统,作为一个同学录,最基本的功能便是院系与班级的搜索,班级的创建、加入,以及班级的留言列表及班级成员的显示、修改、删除等。所以我利用dreamweaver以及mysql数据库设计出了同学录最基本的功能。2.2 核心代码(1)zh.php<?php include_once "safe/session.php"?><html><head> <title>查询页面</title> <script src="jquery.js"></script> <style> #div1 background:no-repeat; width:960px; margin:0 auto; height:100%; ul list-style-type: none; li font:"宋体" font-size:24px; float: left; margin-right: 20px; #div2 height:40px; .STYLE1 font-size: x-large .STYLE2 font-size: x-large; font-weight: bold; </style></head><body background="image/http_imgload3333.jpg"><p align="center"> </p><p align="center"> </p><p align="center"> </p><p align="center" class="STYLE2"><marquee><img src="image/QQ图片20140101144308.gif" width="62" height="55">纪念册<img src="image/QQ图片20140101144308.gif"></marquee></p><p align="center" class="STYLE2"> <a href="banji.php">已有纪念册,进入我的班级</a> </p><p class="STYLE2"> </p> <div id="div1"> <div id="div2"> <ul> <li class="STYLE1"></li> <li class="STYLE1"></li> <li class="STYLE1"></li> <li class="STYLE1"></li><form action="dealsousuo.php" method="post" class="STYLE1"><input type="radio" name="selecttype" value="0">按院系查找<input type="radio" name="selecttype" value="1">按班级查找<input type="text" name="index" ><input type="submit" value="查找"></form> </ul> </div> <div id="list"> <table width="960" > <tr> <th scope="col" align="left"> 全部</th> </tr> </table> </div> <div id="menulist"> <table width="960" cellspacing="0" border="1"> <tr> <th scope="col"width="48" bgcolor="#666666"><input type="checkbox" onClick="selectall(this);"/></th> <th width="100" scope="col" align="left">学校</th> <th width="100" scope="col" align="left">入学年份</th> <th width="100" scope="col" align="left">院系</th> <th width="100" scope="col" align="left">班级</th> <th width="100" scope="col" align="left">人数</th> </tr></table> </div></div> </body>(2)dealsousuo.php<html><head> <title>查询页面</title> <script src="jquery.js"></script> <style> #div1 background:no-repeat; width:960px; margin:0 auto; height:100%; ul list-style-type: none; li font:"宋体" font-size:30px; float: left; margin-right: 20px; #div2 height:40px; .STYLE1 font-size: larger;font-family: "宋体" .STYLE2 font-size: x-large </style></head><body background="image/http_imgload3333.jpg"> <div id="div1"> <div id="div2"> <ul> <li></li> <li></li> <li></li> <li></li> <h1>查询结果</h1> </ul> </div> <div id="list"> <table width="960" > <tr> <th scope="col" align="left"></th> </tr> </table> </div> <div id="menulist"> <table width="960" cellspacing="0" border="1"> <tr> <th scope="col"width="48" bgcolor="#666666"><input type="checkbox" onClick="selectall(this);"/></th> <th width="100" scope="col" align="left">学校</th> <th width="100" scope="col" align="left">入学年份</th> <th width="100" scope="col" align="left">院系</th> <th width="100" scope="col" align="left">班级</th> <th width="100" scope="col" align="left">人数</th> </tr> <?phpinclude_once"conn/conn.php"session_start();$type = $_POST"selecttype"$index = $_POST"index" $nickname = $_SESSION"nickname"if($type=0)$sql="select * from class where major='$index'"else if($type=1)$sql="select * from class where classnumber='$index'"$result=mysql_query($sql); while($arrn=mysql_fetch_array($result) echo "<tr> <td width='50' align='center'><input type='checkbox' name='checkboxs' value='$arrnid'/></td> <td width='100'>$arrnuniversity</td> <td width='100'>$arrnenrollmentyear</td> <td width='100'>$arrnmajor</td> <td width='100'>$arrnclassnumber</td> <td width='100'>$arrnpeoplenum</td> </tr>" mysql_close(); ?></table> </div></div> <div align="center" class="STYLE1"><span class="STYLE2"><a href="chban.php">没有班级?快来创建吧</a> </span> <span class="STYLE2"> <a href="addtxl.php">加入班级</a></span> </div></body>(3)dealaddnews.php<?php include_once "./safe/session.php"?><?php $writer=$_SESSION"nickname"$content=$_POST"content" mysql_connect("localhost","root",""); mysql_select_db("alumni"); mysql_query("set names gbk"); $class=$_SESSION"class" $sql="insert into message (writer,content,class) values ('$writer','$content','$class')"mysql_query($sql);echo "<script language='javascript'>alert('成功添加班级留言!');window.location.href='listnews.php' </script>" mysql_close(); ?>(4)dealedit.php<?php session_start(); ?><?php $id=$_POST"id"$content=$_POST"content"$writer=$_POST"writer" if(!empty($_POST'content') mysql_connect("localhost","root",""); mysql_select_db("alumni"); mysql_query("set names gbk"); $sql = "update message set content='$content' where id=$id" mysql_query($sql); if(!empty($_POST'writer') mysql_connect("localhost","root",""); mysql_select_db("alumni"); mysql_query("set names gbk"); $sql = "update message set writer='$writer' where id=$id" mysql_query($sql); if(mysql_query($sql) echo "<script>alert('修改成功');window.location.href='listnews2.php'</script>" else echo "<script>alert('修改失败');window.location.href='listnews2.php'</script>" mysql_close();?>(5)delete.php<?php session_start(); ?> <?php mysql_connect("localhost","root",""); mysql_select_db("alumni"); mysql_query("set names gbk"); $id=$_GET"id" $sql="delete from message where id='$id' " if(mysql_query($sql) echo "<script>alert('删除成功');window.location.href='listnews2.php'</script>" else echo "<script>alert('删除失败');window.location.href='listnews2.php'</script>" mysql_close(); ?> </table>(6)listusers.php<?php session_start();?><style type="text/css"><!-body background-image: url(./images/1.jpg);-></style>用户列表<br/><table border="1"> <tr> <td>编号</td> <td>真实姓名</td> <td>昵称</td> <td>性别</td> <td>生日</td> <td>e_mail</td> <td>电话</td> </tr> <?php mysql_connect("localhost","root",""); mysql_select_db("alumni"); mysql_query("set names gbk");$class=$_SESSION"class" $sql="select * from user where class='$class'" $result=mysql_query($sql); while($arrn=mysql_fetch_array($result) echo "<tr> <td>$arrnid</td> <td>$arrntruename</td> <td>$arrnnickname</td> <td>$arrnsex</td> <td>$arrnbirthday</td> <td>$arrne_mail</td> <td>$arrnphonenum</td> </tr>" mysql_close(); ?> </table>(7)savechuaban.php<?phpsession_start();include_once("conn/conn.php");$university=trim($_POST'uni');$enrollmentyear=trim($_POST'year');$major=trim($_POST'maj');$classnumber=trim($_POST'cnum'); $peoplenum=trim($_POST'pnum'); $sql="insert into class(university,enrollmentyear,major,classnumber,peoplenum)values('$university','$enrollmentyear','$major','$classnumber','$peoplenum')"mysql_query($sql);echo"<script language='javascript'>alert('创建成功!');window.location.href='sousuo.php'</script>"mysql_close();?>详细代码见程序2.3 程序运行结果(截屏)2. 课程设计心得、存在问题及解决方法通过此次实训,我对dreamweaver网页设计平台、php语言和mysql数据库有了更深刻的理解和体会,同时发现了许多自己的不足之处。首先,对于php语言的基础知识掌握还不够牢固,对用php语言连接mysql数据库时中经常出现的错误也不是很了解;其次,对于php设计中使用的一些函数不够熟悉,这些不足,通过实训都得到了锻炼和提高。我们通过实训不仅巩固了以前所学过的知识,而且还通过查找资料、请教他人等方法学到了很多在书本上没有学过的知识。其次,我充分认识到了理论与实践结合的重要性。仅仅具有理论知识是不够的,只有把理论与实践结合起来,制作出完美的作品,才能更好的适应社会对我们的要求。最重要的一点是,我们都认识到了团队合作的重要性。通过小组成员之间的分工与合作,我们成功制作出了基于web的同学录系统,团队合作意识,成员之间的沟通能力都得到了很大的提高。- 19 -