• 1.52 MB
  • 2022-04-22 13:36:22 发布

吉他介绍网网站设计毕业论文.doc

  • 38页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'吉他介绍网网站设计毕业论文目录第1章前言5第2章需求分析62.1.用户需求分析62.2.网站前台功能分析62.3.网站后台功能分析7第3章吉他介绍网的整体设计83.1.吉他介绍网的整体风格设计83.2.网站的总体结构设计83.3.吉他介绍网系统流程93.4.吉他介绍网系统模块设计93.4.1前台界面93.4.2.后台页面103.5.数据库设计12第4章吉他介绍网的实现14 4.1.方案选择144.1.1.系统模式比较144.1.2.系统技术平台144.1.3.开发环境搭建154.2.页面的实现制作184.2.1.页面布局184.2.2.网站模版设计过程184.2.3.网站的首页设计194.2.4.网站导航设计204.2.5.网站内容页214.2.6.管理员登陆界面214.2.7.修改密码实现过程224.2.8.发布信息功能234.2.9.修改信息功能264.3.图片上传模块294.3.1.图片上传模块294.3.2.图片上传模块部分代码29 4.4.退出模块实现代码30第5章系统测试325.1.系统测试的目的325.2.乱码问题解决325.3.网页结构乱问题解决335.4.连接处的sql注入335.5.浏览器兼容测试335.6.系统存在的问题335.7.运行模块测试345.7.1.网站首页345.7.2.前台详细内容页345.7.3.管理员登陆355.7.4.发布文章功能355.7.5.图片上传功能36第6章总结与展望37参考文献38致谢39 第1章前言在今天,全球已有2000万个网站使用PHP,包括最流行的雅虎、Google、百度、YouTube、Digg,也包括像汉莎航空电子订票系统、德意志银行的网上银行、华尔街在线的金融信息发布系统,甚至军队系统这类五花八门和苛刻的环境。然而在PHP成功的两大秘诀中,第一条就是简单。PHP简单到让喜欢卖弄技巧的程序员感到羞愧,但让那些渴望进入Web开发领域的初学者欣喜若狂。PHP像是一条鲶鱼,与XML、WebServices融合无间。即使历次的版本升级,也无需担心PHP会丧失这种简单的特性。无疑,这个特点给需要快速开发、交互应用的Web2.0潮流极大的带来了方便,有超过半数的Ajax-enabled和Web2.0站点都选择了PHP。PHP的第二个秘诀,就是“Community(强大的社区)”。Discuz!软件的开发者,25岁的康盛创想公司CEO戴志康就是这个特性的受益者。他说,不像其他的开发者需要从零开始,大量的PHP程序都有开放源代码可供学习,后人站在前人的肩膀上加以改进,又将这种知识积累的结果回馈给社区。这曾被比喻为“大教堂和集市”,在集市中,知识得到了最大化的利用,效率提高、错误减少、成本降低。而大教堂只能越垒越高,不断延迟发布时间。所以我就以PHP为基础,建设一个“吉他介绍网”其中主要目的是为了使广大的用户能够在网络了解更多的吉他。如何以更快更详细的了解吉他,而且还是我自己的兴趣之一 第2章需求分析2.1.用户需求分析在21世纪的今天互联网高速发展的时代,网络成为人们快速获取、发布和传递信息的渠道。而每个人都有各种的兴趣爱好,其中吉他是大多数人喜欢的一种乐器,而且还是入门音乐的垫脚石。但是目前国内的吉他网站少之又少,能获取有价值信息的网站更是寥寥无几。因此,我将浏览网站的用户和网站管理员作为系统服务的主要目标,建设一个具有用户注册、用户登录、信息浏览、用户管理、发表信息等功能的一个吉他介绍网站。2.2.网站前台功能分析网站首页:网站首页是集中各种人气高受大众欢迎的各类吉他乐器的介绍。民谣吉他:介绍国内外各品牌的民谣吉他价钱吉他的配置和吉他的图片显示等功能。古典吉他:介绍国内外各品牌的古典吉他价钱吉他的配置和吉他的图片显示等功能。电声吉他:介绍国内外各品牌的电声吉他价钱吉他的配置和吉他的图片显示等功能。低音吉他:介绍国内外各品牌的低音吉他价钱吉他的配置和吉他的图片显示等功能。Uklele:介绍国内外各品牌的Uklele吉他价钱吉他的配置和吉他的图片显示等功能。吉他入门:介绍一些基础的吉他知识网站后台登陆:通过登录来进入后台的管理界面。 2.3.网站后台功能分析信息发布:如今的网站信息不能只有管理员发布,更多的是需要用户的信息共享,所以信息发布时非常重要的文档管理:管理网站所有内容的修改、删减用户信息:显示所有管理员用户的信息 第3章吉他介绍网的整体设计3.1.吉他介绍网的整体风格设计现在的商业门户网站在几乎都是三栏,上面是logo+banner。其实门户网站因为信息大,更新频繁,太过于平凡的设计打动不到用户浏览的激情,我认为可以充分利用吉他的优势,充分利用用户对吉他的认识,所以网站整体采用了摇滚风格。以黑色为主色调进行开发,网站的banner采用了一张摇滚音乐会的图片,更加明显的突出了网站的风格和表明了这是一个关于吉他的网站。3.2.网站的总体结构设计吉他介绍网主要功能模块结构示意图: 3.3.吉他介绍网系统流程3.3.1.前台页面用户根据搜索引擎或者收藏夹等方式访问到网站用户通过首页点击首页中的内容链接到内容的详细页面浏览完网页以后通过导航链接到其他目录下的页面选择喜欢的内容然后连接到详细页面。3.3.2.后台页面管理员通过登录界面登录到后台管理首页然后选中需要的功能进行操作最后进行发布信息,文档管理,和用户的信息管理3.4.吉他介绍网系统模块设计吉他介绍网,主要完成信息的添加,删除以及信息的修改功能。以及对多用户的管理以及在后台对用户的信息进行管理。以下是页面划分以及各模块的功能介绍。3.4.1前台界面 前面页面-网站首页网站的首页是每个网站的必需品,他的作用是吸引用户访问设计者想让用户最先看到的内容,主要完成用户的引导作用。前台页面-网站内容页网站的内容页是显示所属模块的所有数据,他的作用是当用户进入到改页面的时候按照事先设计好的排序方法显示所属数据的所有数据3.4.2.后台页面 后台页面子模块-信息发布信息发布作为后台管理的一个重要部分,管理员通过登录后用于发布网站显示的信息后台页面子模块-文档管理文档管理,主要是用于已经发布的信息来修改,管理员通过登录后选中要修改的信息然后进去修改,最后就保存。管理员管理,主要是用于设置能够对当前系统后台的功能进行操作的用户,以及设置这些用户可以使用后台哪些功能。该功能使得后台管理更为灵活,可以方便的进行权限托管。并且可以设置对某个功能专门进行操作的管理人员,简化了管理的复杂程度。 3.5.数据库设计上图是根据网站的需求设计出九个数据表,分别是:系统管理员表(admin),低音吉他表(bass),电声吉他表(dian),古典吉他表(gudian),没分类吉他表(guitar),吉他入门表(jiaocheng),民谣吉他表(minyao),uklele表(uklele),吉他资讯表(zixun)。数据表主要分为以下几个部分:系统管理员表:低音吉他表: 电声吉他表:古典吉他表:吉他入门表:民谣吉他表:uklele表: 吉他资讯表:第4章吉他介绍网的实现4.1.方案选择4.1.1.系统模式比较目前比较流行的两种开发模式主要有C/S结构和B/S结构:C/S结构,即Client/Server(客户机/服务器)模式,是大家熟知的软件系统体系结构,通过将任务合理分配到客户端和服务器端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。B/S结构,即Browser/Server(浏览器/服务器)模式,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。4.1.2.系统技术平台开发环境:WindowsServer2013DatacenterEdition、MySql4.2、Apache2;开发工具:Dreamweaver8、PhotoShop、记事本;系统构架:PHP+MySql4.2;开发语言:PHP5。 4.1.3.开发环境搭建1.配置PHP5将从网络上下载下来的文件解包,然后需要以下操作:打开php.ini文件,修改以下内容:max_execution_time=600;max_input_time=600;memory_limit=16Mpost_max_size=20Mfile_uploads=Onupload_max_filesize=20Mdefault_socket_timeout=60以上选项避免由于用户上传过大的图片导致PHP处理超时。register_globals=Offmagic_quotes_gpc=On以上选项为防止用户恶意提交。extension_dir="D:PHPPHPext"以上选项用于设定PHP的扩展所在文件夹。extension=php_mbstring.dll该扩展用于支持长字符集extension=php_exif.dll该扩展用于支持PHP读取图片的EXIF信息。extension=php_gd2.dll该扩展用于PHP对图片的操作以及验证码的生成操作。extension=php_mysql.dllextension=php_mysqli.dll以上两项用于PHP对MYSQL的支持extension=php_sockets.dll 该扩展用于PHP对SOCKET的支持,主要用于支持上传时显示上传进度的UPU库1.Apache2.0将从网络上下载下来的文件解包,然后需要以下操作:修改Apache的配置文件:进入到解包根目录下的conf目录。打开httpd.conf文件,修改以下内容:设置执行超时:Timeout300设置监听80端口:Listen80开启APACHE对PHP的支持:LoadModulephp5_moduled:/php/php/php5apache2.dll开启URL重写功能:LoadModulerewrite_modulemodules/mod_rewrite.so设定WEB服务的根目录:DocumentRoot"E:web"设置URL重写所生效的范围:OptionsFollowSymLinksAllowOverrideALL设置中文支持:AddLanguagezh-CN.zh-cnAddLanguagezh-TW.zh-twAddLanguagezh-cn.cn设置默认语言AddDefaultCharsetGB2312设置默认索引页:DirectoryIndexindex.htmlindex.html.varindex.htmindex.php设置APACHE对PHP文件进行解析:AddTypeapplication/x-httpd-php.php将APACHE安装为服务:进入命令行,转到APACHE文件夹下的BIN文件夹,执行以下命令: apache-kinstall启动APACHE服务器执行以下命令:netstartapache21.mysql安装将从网上下载的MYSQL解包,然后修改其配置文件如下:default-character-set=utf8//由于整个系统均使用UTF-8,故数据库也统一文字编码key_buffer_size=20Mmax_allowed_packet=15M//以上设置用于处理将图片存入数据库的大量信息数据。运行MySQLInstanceConfig.exe对MYSQL进行初始化设置。安装MYSQL服务执行mysqld-nt.exe–install将MYSQL进程作为系统服务运行。使用MYSQLADMIN对MYSQL的管理员进行管理2.PHPMYADMIN配置找到phpmysdmin的配置文件,修改以下地方。$cfg["Servers"][$i]["host"]="localhost";//设置为本机(只做调试用)$cfg["Servers"][$i]["port"]="3306";//MySQL的端口$cfg["Servers"][$i]["connect_type"]="tcp";//设置与MySQL连接的方式$cfg["Servers"][$i]["compress"]=FALSE;//使用压缩协议进行传输$cfg["Servers"][$i]["auth_type"]="config";//如果PHP安装模式为Apache,可以使用http和cookie;如果PHP安装模式为CGI,可以使用cookie;默认为config$cfg["Servers"][$i]["user"]="root";//MySQL连接用户$cfg["Servers"][$i]["password"]="";//MySQL连接密码 4.2.页面的实现制作4.2.1.页面布局吉他介绍网采用了目前最流行的DIV+CSS的布局方式来布局。DIV+CSS不同于传统的表格布局的方式,采用以“块”为结构的定位形式,用最简洁的代码实现精准的定位,这样不但方便维护人员的修改和维护,更大的好处是优化了搜索引擎的搜索和网页的浏览速度,也方便了SEO从业人员的优化工作。4.2.2.网站模版设计过程由于网站的页面庞大,我为了节约资源和开发的时间就采用了模版的方式。首先我把网页的风格确定下来。然后设计好了网页的背景、banner、导航条、和底部的版权信息。然后结合div+css和表格的方式将banner、导航条和版权信息通过iframe的方式嵌入到模版中,最后就是存储模版。以下是模版设计过程截图: 4.2.3.网站的首页设计吉他介绍网的首页使用了iframe技术来实现,这样就可以通过网页划分了几个栏目都要在主页显示,每个栏目占用一个框架。也就是每个栏目做成了一个小网页。这样在打开主页时各栏目可以同时分别加载。如果其中一个页面有错误也不会影响其他页面,而且还可以多人一起开发,而且还不互相影响。 以下是首页设计过程截图:4.2.4.网站导航设计网站的导航的基本作用是为了让用户在浏览网站过程中不至迷失,并且可以方便地回到网站首页以及其他相关内容的页面。这主要是基于这样一个重要事实:绝大多数用户都不是通过一个网站的首页逐级浏览各个栏目和网页内容的,如果用户从某个网页来到一个网站,如果没有详细的导航引导,用户则很容易在网站中迷失。我的网站的导航时采用一个单独的页面专门制作导航,然后用Iframe的方式套入到模版中。这样做是为了方便以后可以更加容易的更新和维护的操作。 4.2.5.网站内容页网站的内容页是用我开始就已经做好的模版来设计,将模版套入然后设置好内容页要显示的动态内容。然后设置子页面的导航。显示数据通过动态的方式显示这样就剩下了很多很多的工作量。4.2.6.管理员登陆界面网站管理员登陆界面是通向管理员功能的唯一通道。所以也是很重要,如果稍微一不注意就会导致后台给人入侵。所以为了后台的验证我在登陆页面那里设置了SESSION传递。 以下是SESSION传递部分代码:$_SESSION["MM_Username"]=$loginUsername;$_SESSION["MM_UserGroup"]=$loginStrGroup;if(isset($_SESSION["PrevUrl"])&&false){$MM_redirectLoginSuccess=$_SESSION["PrevUrl"];}header("Location:".$MM_redirectLoginSuccess);}else{header("Location:".$MM_redirectLoginFailed);}}4.2.7.修改密码实现过程修改密码的实现过程是由前一个页面传递一个用户值过来,然后通过查询查出用户的ID。最后输入要修改的密码然后提交到数据库。以下是修改密码部分代码:if((isset($_POST["MM_update"]))&&($_POST["MM_update"]=="form1")){$updateSQL=sprintf("UPDATEadminSETpassword=%sWHEREid=%s",GetSQLValueString($_POST["newmm"],"text"),GetSQLValueString($_POST["hiddenField"],"int"));mysql_select_db($database_conn,$conn);$Result1=mysql_query($updateSQL,$conn)ordie(mysql_error());} mysql_select_db($database_conn,$conn);$query_Recordset1="SELECT*FROM`admin`";$Recordset1=mysql_query($query_Recordset1,$conn)ordie(mysql_error());$row_Recordset1=mysql_fetch_assoc($Recordset1);$totalRows_Recordset1=mysql_num_rows($Recordset1);$colname_Recordset2="-1";if(isset($_GET["id"])){$colname_Recordset2=(get_magic_quotes_gpc())?$_GET["id"]:addslashes($_GET["id"]);}mysql_select_db($database_conn,$conn);$query_Recordset2=sprintf("SELECT*FROM`admin`WHEREid=%s",$colname_Recordset2);$Recordset2=mysql_query($query_Recordset2,$conn)ordie(mysql_error());$row_Recordset2=mysql_fetch_assoc($Recordset2);$totalRows_Recordset2=mysql_num_rows($Recordset2);4.2.8.发布信息功能发布文章功能,主要有5个字段。分别文章的标题、正文、品牌、和图片的地址还有一个隐藏的ID。实现的方法是直接通过Dreamweaver里面自带记录集和插入记录的方法过滤后然后提交到服务器直接处理,最后保存到数据库。以下是发布功能部分代码:4.2.9.修改信息功能修改文章功能,同样的有5个字段。分别文章的标题、正文、品牌、和图片的地址还有一个隐藏的ID。实现的方法是直接通过Dreamweaver里面自带的动态文本功能和记录集、修改记录的方法过滤后然后提交到服务器进行处理,最后保存到数据库。以下是修改功能部分代码:4.3.图片上传模块4.3.1.图片上传模块图片上传功能是这个网站里面最难的功能它的实现过程是先弹出选择框然后选择文件就到了验证文件的格式,如果不正确就退出,如果正确就验证服务器里面是否有同名的文件如果没有就进行文件的移动到最后就是命名。4.3.2.图片上传模块部分代码文件不存在!";exit;}if($file["size"]>$max_size){echo"上传文件太大!";exit;}if(!in_array($file["type"],$arrType)){echo"上传文件格式不对!";exit;} if(!file_exists($upfile)){mkdir($upfile,0777,true);}$imageSize=getimagesize($file["tmp_name"]);$img=$imageSize[0]."*".$imageSize[1];$fname=$file["name"];$ftype=explode(".",$fname);$picName=$upfile."/minyao".$fname;if(file_exists($picName)){echo"同文件名已存在!";exit;}if(!move_uploaded_file($file["tmp_name"],$picName)){echo"移动文件出错!";exit;}else{echo"图片文件上传成功!
";echo"图片大小:$img
";echo"图片预览:

图片名称
".$fname."
";echo"图片地址
../admin/admin/minyao/images/$picName";}}?>4.4.退出模块实现代码 第5章系统测试5.1.系统测试的目的软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Dotherightthing),另一方面是确认软件以正确的方式来做了这个事件(Doitright)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。5.2.乱码问题解决在做设计的时候,遇到了乱码问题。在页面间传递时汉字会乱码,如果直接从数据库添加数据显示没有乱码,但是从后台管理添加数据就会在添加成功后的显示页面出现在乱码。对于这个问题,原因是开发平台在WINDOWS下,WINDOWS默认的编码格式是GB2312,但是运行环境却是UTF-8环境,要避免乱码,必须统一整个开发环境的字符编码:在创建数据库以及查询数据库时,将编码设置为GB2312SETCHARACTER_SET_CLIENT=GB2312,CHARACTER_SET_CONNECTION=GB2312CHARACTER_SET_DATABASE=GB2312,CHARACTER_SET_RESULTS=GB2312,CHARACTER_SET_SERVER=GB2312,COLLATION_CONNECTION=GB2312,COLLATION_DATABASE=GB2312,COLLATION_SERVER=GB2312,AUTOCOMMIT=1";在创建网页时,将编码设置位为GB2312mysql_query("setnamesgb2312") 5.3.网页结构乱问题解决在设计的时候。设计好了的页面但是一预览就会出现图片或者文字对不齐的现象,如果是在浏览器中没有居中,就是没盒子,就是要用一个大DIV把所有需要居中元素装起来,然后给盒子一个css样式margin:0auto;如果想要盒子内的元素居中,必须定义盒子的绝对宽度,然后给盒子一个CSS样式text-align:center;5.4.连接处的sql注入URL传递参数的过程泄露了信息的ID,用户可以通过非法途径创建并不存在的文章或者通过该sql进行注入点测试,而且还很容易被猜解出管理员密码等一系列问题SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.5.5.浏览器兼容测试网站兼容性测试主要检验网站能否在不同的客户浏览器中正常浏览。主要的方法是用多种Web浏览器测试网页.最典型的是InternetExplore和NetscapeNavigator至少要保证自己的网页要在这两种浏览器中正常运行.其次就是在多种操作系统中测试网页。由于操作系统的不同,网页在其中浏览的表现也不一样,这一点在Linux和Windows之间尤其突出.例如,在Windows中,浏览器都是标准的800X600像素或1024X768像素;但在Linux中,由于Window的特殊性,浏览器一般没有固定的长宽比,而且窗口形状趋向于正方形。在Window中,浏览器的表单控件形状和Windows中的更是有天壤之别。5.6.系统存在的问题 由于本人的时间以及经验和资历等等的各方面的因素,系统有部分功能不能够完美的实现,比如N行M列的显示、SQL注入防御、xss跨站攻击防御、代码优化等一系列问题不能解决,还希望老师指正。5.7.运行模块测试5.7.1.网站首页5.7.2.前台详细内容页 5.7.3.管理员登陆5.7.4.发布文章功能 5.7.5.图片上传功能 第6章总结与展望经过目前紧张而有序的毕业设计,吉他介绍网的主体功能已全面实现。网页界面简洁,操作方便,功能齐全,实现了数据动态显示,发布信息,管理信息,信息分类,后台的用户管理,系统管理的功能,实现了添加、删除、修改等主要的的基本功能。但是也有需要进一步改进的地方,如:在批量上传图片时,不能实现上传好的图片的地址直接复制到要发布的文章界面里去。还有本网站还没有提供给后台管理员一个比较方便的统计功能。本网站的设计与开发在老师的领导下都参照软件开发公司的设计与开发模式。通过对本网站的需求分析,概要设计、详细设计、编码、测试等每一部分的学习和实践。使我体会到网站的设计阶段有举足轻重的地位,设计的阶段的质量优劣,直接影响到以后网站设计的质量。需求是否准确,影响到最后网站是否能达到用户的要求,概要设计的数据结构的设计,影响数据库的设计是否优越,如果设计合理,在编码阶段实现就相对容易了。详细设计中的相关类的设计和函数的定义,对编码阶段铺垫,使编码水到渠成。在本网站的开发过程中,本人充分的体会到了所学到的东西还有很多不足,并且从网站开发的过程中获得了许多关于针对具体项目所应当具备的能力,并且相信这对于以后的工作应该有比较大的帮助。 参考文献1.作者:陈益材 等编著《PHP+MySQL+Dreamweaver动态网站建设从入门到精通》出版社:机械工业出版社出版时间:2012年06月2.作者:明日科技等编著《PHP从入门到精通第3版》出版社:清华大学出版社出版时间:2012年09月http://bbs.guitarchina.com/(吉他中国论坛)http://wenku.baidu.com/(百度文库)http://www.php100.com/(php100中文网) 致谢本文是在老师和同学的热情关心和指导下完成的,她们渊博的知识和严谨的治学作风使我受益良多,对顺利完成本课题起到了极大的作用。在此向她们表示我最衷心的感谢!感谢曾老师的长期以来给我们的帮助,老师长期以来都耐心细致的给我们辅导,帮我们补充重要的知识点。同时,老师还帮我们详尽的分析系统逻辑关系,曾老师在程序设计方面给了我们不少帮助,使本人在分析解决问题方面受益匪浅。在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人向他们表示深深的谢意!'

您可能关注的文档

相关文档

最近下载