项目编号:BS-PHP-001
一,项目简介
本网上书店是针对目前网上书店的实际需求,从实际工作出发,对过去的网上书店存在的问题进行分析,结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,借助php编程语言、php技术、mysql数据库和apache服务器来完成系统的所有功能 。本网上书店主要包括系统用户管理模块、新闻文章管理模块、图书信息管理、商城订单管理、登录模块、和退出模块等多个模块。它帮助网上书店实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了网上书店数据资源,有效的减少了网上书店的经济投入,大大提高了网上书店的效率。
随着现代网上书店的快速发展,可以说网上书店已经逐渐成为现代网上书店过程中最为重要的部分之一。但是一直以来我国传统的网上书店并没有建立一套完善的行之有效的网上书店,传统的网上书店已经无法适应高速发展,无论是从效率还是从效果来看都远远的和预计相差甚多,可以断言,传统的网上书店模式已经不再适应,甚至已经拖累了发展。因此,需要一个操作方便,高效的管理体系。
系统设计的主要意义在于,一方面,对于网站来讲,系统上线后可以带来很大的便利性,网上书店属于非常细致的管理模式,要求数据量大,计算机管理可以提高精确性,更为便利的就是信息的查询,大大的提高了工作效率,改善了管理质量;另一方面,通过系统的设计,自己对软件设计有了更加深入的了解,并且产生了浓厚的学习兴趣,在对问题分析方面有了独特的方式,是进入社会之前一次很好的锻炼机会[3][4]。
针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的网上书店。
本系统主要包含了等系统用户管理、新闻文章管理、图书信息管理、图书类别管理多个功能模块。下面分别简单阐述一下这几个功能模块需求。
管理员的登录模块:管理员登录系统对本系统其他管理模块进行管理。
用户的登录模块:用户登录本系统,对个人的信息等进行查询,操作可使用的功能。
用户注册模块:游客用户可以进行用户注册,系统会反馈是否注册成功。
添加管理员模块:向本系统中添加更多的管理人员,管理员包括普通管理员和超级管理员。
新闻文章管理模块:
新闻文章列表:将数据库的新闻文章表以列表的形式呈现给管理员。
添加新闻文章:实现管理员添加新闻文章。
修改新闻文章:实现管理员修改新闻文章。
留言管理模块:
添加留言:实现管理员添加留言,应该包括留言。
修改留言:实现管理员修改留言,包括修改留言。
图书信息管理模块:
图书信息列表:进行图书信息列表显示。
图书类别管理模块:
图书类别列表:显示系统的所有图书类别,可以通过关键字查询。
图书类别删除:对输入错误或过期的图书类别删除。
用户模块:
资料管理:用户登录本系统。可以对自己的个人主页进行查看。
系统信息:用户可以查看自己的系统提示信息。
修改资料:用户可以修改自己的账号密码。
信息搜索:用户可以通过关键字搜索站内信息。
密码修改:用户可以修改个人登录密码。
系统管理模块:包括数据备份。
退出模块:
管理员退出:管理员用来退出系统。
用户退出:用户用来退出系统。
二,环境介绍
语言环境:php
数据库:Mysql: mysql5.7
应用服务器:apache
开发工具:IDEA或Dreamver
三,系统展示
在系统的前台首页,主要有用户登录页面,以及相关新闻的展示等,在首页的导航栏中可看出,该系统主要有网站首页、用户注册、图书信息、系统简介、新闻资讯等主要模块。
用户登陆
为了确保系统安全性,系统操作员只有在后台登录界面输入正确的用户名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的后台管理界面。
用户留言
用户点击在线留言,提交信息,添加成功信息后,用户管理留言信息,审核留言信息。
在线购买
用户点击图书类别进入图书类别页,点击我要购买按钮进入购买添加页,提交信息,添加成功信息后,用户管理购买信息,审核购买信息。
后台管理---用户管理
系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有
后台管理--新闻管理
新闻文章信息添加功能主要指对其标题、内容等一些基本信息的添加、删除和修改。新闻文章查询能根据标题、内容等多种条件对新闻文章信息进行查询。
后台管理--图书管理
管理员发布新的图书信息,系统显示图书信息,图书信息添加功能主要指对其编号、姓名等一些基本信息的添加、删除和修改。
后台管理--类别管理
管理员发布新的图书类别,系统显示图书类别,图书类别添加功能主要指对其类别等一些基本信息的添加、删除和修改。
四,核心代码展示
<?php include_once 'conn.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>订单</title><script language="javascript" src="js/hsgrili.js"></script><link rel="stylesheet" href="css.css" type="text/css"> </head> <body> <p>已有订单列表:</p> <form id="form1" name="form1" method="post" action=""> 搜索: 订单号:<input name="dingdanhao" type="text" id="dingdanhao" /> 用户名: <input name="jine" type="text" id="jine" /> <input type="submit" name="Submit" value="查找" style='border:solid 1px #000000; color:#666666' /> </form> <table width="100%" border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#00FFFF" style="border-collapse:collapse"> <tr> <td width="25" bgcolor="#CCFFFF">序号</td> <td bgcolor='#CCFFFF'>订单号</td><td bgcolor='#CCFFFF'>金额</td><td bgcolor='#CCFFFF'>订单内容</td><td bgcolor='#CCFFFF'>用户名</td><td bgcolor='#CCFFFF'>姓名</td><td bgcolor='#CCFFFF'>邮寄地址</td><td bgcolor='#CCFFFF'>邮编</td><td bgcolor='#CCFFFF'>电话</td><td bgcolor='#CCFFFF'>快递类型</td><td bgcolor='#CCFFFF'>快递费用</td> <td width="90" align="center" bgcolor="#CCFFFF">评论管理</td> <td bgcolor='#CCFFFF' width='80' align='center'>是否审核</td> <td width="120" align="center" bgcolor="#CCFFFF">添加时间</td> <td width="70" align="center" bgcolor="#CCFFFF">操作</td> </tr> <?php $sql="select * from dingdan where 1=1"; if ($_POST["dingdanhao"]!=""){$nreqdingdanhao=$_POST["dingdanhao"];$sql=$sql." and dingdanhao like '%$nreqdingdanhao%'";} if ($_POST["jine"]!=""){$nreqjine=$_POST["jine"];$sql=$sql." and yonghuming like '%$nreqjine%'";} $sql=$sql." order by id desc"; $query=mysql_query($sql); $rowscount=mysql_num_rows($query); if($rowscount==0) {} else { $pagelarge=10;//每页行数; $pagecurrent=$_GET["pagecurrent"]; if($rowscount%$pagelarge==0) { $pagecount=$rowscount/$pagelarge; } else { $pagecount=intval($rowscount/$pagelarge)+1; } if($pagecurrent=="" || $pagecurrent<=0) { $pagecurrent=1; } if($pagecurrent>$pagecount) { $pagecurrent=$pagecount; } $ddddd=$pagecurrent*$pagelarge; if($pagecurrent==$pagecount) { if($rowscount%$pagelarge==0) { $ddddd=$pagecurrent*$pagelarge; } else { $ddddd=$pagecurrent*$pagelarge-$pagelarge+$rowscount%$pagelarge; } } for($i=$pagecurrent*$pagelarge-$pagelarge;$i<$ddddd;$i++) { ?> <tr> <td width="25"><?php echo $i+1; ?></td> <td><?php echo mysql_result($query,$i,dingdanhao);?></td><td><?php echo mysql_result($query,$i,jine);?></td><td><?php echo mysql_result($query,$i,dingdanneirong);?></td><td><?php echo mysql_result($query,$i,yonghuming);?></td><td><?php echo mysql_result($query,$i,xingming);?></td><td><?php echo mysql_result($query,$i,youjidizhi);?></td><td><?php echo mysql_result($query,$i,youbian);?></td><td><?php echo mysql_result($query,$i,dianhua);?></td><td><?php echo mysql_result($query,$i,kuaidileixing);?></td><td><?php echo mysql_result($query,$i,kuaidifeiyong);?></td> <td width="90" align="center"><a href="pinglun_list.php?id=<?php echo mysql_result($query,$i,"id");?>&biao=dingdan">评论管理</a></td> <td width='80' align='center'><a href="sh.php?id=<?php echo mysql_result($query,$i,"id") ?>&yuan=<?php echo mysql_result($query,$i,"issh")?>&tablename=dingdan" onclick="return confirm('您确定要执行此操作?')"><?php echo mysql_result($query,$i,"issh")?></a></td> <td width="120" align="center"><?php echo mysql_result($query,$i,"addtime"); ?></td> <td width="70" align="center"><a href="del.php?id=<?php echo mysql_result($query,$i,"id"); ?>&tablename=dingdan" onclick="return confirm('真的要删除?')">删除</a> <a href="dingdan_updt.php?id=<?php echo mysql_result($query,$i,"id"); ?>">修改</a></td> </tr> <?php } } ?> </table> <p>以上数据共<?php echo $rowscount; ?>条, <input type="button" name="Submit2" onclick="javascript:window.print();" value="打印本页" style='border:solid 1px #000000; color:#666666' /> </p> <p align="center"><a href="dingdan_list.php?pagecurrent=1">首页</a>, <a href="dingdan_list.php?pagecurrent=<?php echo $pagecurrent-1;?>">前一页</a> ,<a href="dingdan_list.php?pagecurrent=<?php echo $pagecurrent+1;?>">后一页</a>, <a href="dingdan_list.php?pagecurrent=<?php echo $pagecount;?>">末页</a>, 当前第<?php echo $pagecurrent;?>页,共<?php echo $pagecount;?>页 </p> <p> </p> </body> </html>
<?php $id=$_GET["id"]; include_once 'conn.php'; $ndate =date("Y-m-d"); $addnew=$_POST["addnew"]; if ($addnew=="1" ) { $dingdanhao=$_POST["dingdanhao"];$jine=$_POST["jine"];$dingdanneirong=$_POST["dingdanneirong"];$yonghuming=$_POST["yonghuming"];$xingming=$_POST["xingming"];$youjidizhi=$_POST["youjidizhi"];$youbian=$_POST["youbian"];$dianhua=$_POST["dianhua"];$kuaidileixing=$_POST["kuaidileixing"];$kuaidifeiyong=$_POST["kuaidifeiyong"]; $sql="update dingdan set dingdanhao='$dingdanhao',jine='$jine',dingdanneirong='$dingdanneirong',yonghuming='$yonghuming',xingming='$xingming',youjidizhi='$youjidizhi',youbian='$youbian',dianhua='$dianhua',kuaidileixing='$kuaidileixing',kuaidifeiyong='$kuaidifeiyong' where id= ".$id; mysql_query($sql); echo "<script>javascript:alert('修改成功!');location.href='dingdan_list.php';</script>"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>修改订单</title><link rel="stylesheet" href="css.css" type="text/css"><script language="javascript" src="js/hsgrili.js"></script> </head> <script language="javascript"> function OpenScript(url,width,height) { var win = window.open(url,"SelectToSort",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=yes,menubar=no,status=yes' ); } function OpenDialog(sURL, iWidth, iHeight) { var oDialog = window.open(sURL, "_EditorDialog", "width=" + iWidth.toString() + ",height=" + iHeight.toString() + ",resizable=no,left=0,top=0,scrollbars=no,status=no,titlebar=no,toolbar=no,menubar=no,location=no"); oDialog.focus(); } </script> <body> <p>修改订单: 当前日期: <?php echo $ndate; ?></p> <?php $sql="select * from dingdan where id=".$id; $query=mysql_query($sql); $rowscount=mysql_num_rows($query); if($rowscount>0) { ?> <form id="form1" name="form1" method="post" action=""> <table width="100%" border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#00FFFF" style="border-collapse:collapse"> <tr><td>订单号:</td><td><input name='dingdanhao' type='text' id='dingdanhao' value='<?php echo mysql_result($query,$i,dingdanhao);?>' /></td></tr><tr><td>金额:</td><td><input name='jine' type='text' id='jine' value='<?php echo mysql_result($query,$i,jine);?>' /></td></tr><tr><td>订单内容:</td><td><textarea name='dingdanneirong' cols='50' rows='8' id='dingdanneirong'><?php echo mysql_result($query,$i,dingdanneirong);?></textarea></td></tr><tr><td>用户名:</td><td><input name='yonghuming' type='text' id='yonghuming' value='<?php echo mysql_result($query,$i,yonghuming);?>' /></td></tr><tr><td>姓名:</td><td><input name='xingming' type='text' id='xingming' value='<?php echo mysql_result($query,$i,xingming);?>' /></td></tr><tr><td>邮寄地址:</td><td><input name='youjidizhi' type='text' id='youjidizhi' size='50' value='<?php echo mysql_result($query,$i,youjidizhi);?>' /></td></tr><tr><td>邮编:</td><td><input name='youbian' type='text' id='youbian' value='<?php echo mysql_result($query,$i,youbian);?>' /></td></tr><tr><td>电话:</td><td><input name='dianhua' type='text' id='dianhua' value='<?php echo mysql_result($query,$i,dianhua);?>' /></td></tr><tr><td>快递类型:</td><td><input name='kuaidileixing' type='text' id='kuaidileixing' value='<?php echo mysql_result($query,$i,kuaidileixing);?>' /></td></tr><tr><td>快递费用:</td><td><input name='kuaidifeiyong' type='text' id='kuaidifeiyong' value='<?php echo mysql_result($query,$i,kuaidifeiyong);?>' /></td></tr> <tr> <td> </td> <td><input name="addnew" type="hidden" id="addnew" value="1" /> <input type="submit" name="Submit" value="修改" style='border:solid 1px #000000; color:#666666' /> <input type="reset" name="Submit2" value="重置" style='border:solid 1px #000000; color:#666666' /></td> </tr> </table> </form> <?php } ?> <p> </p> </body> </html>
<?php session_start(); include_once 'conn.php'; $lb=$_GET["lb"]; if($lb=="") { $lb=$_POST["lb"]; } $biaoti=$_POST["biaoti"]; ?> <!DOCTYPE html> <html> <head> <title>网上书店</title> <LINK type="text/css" rel=stylesheet href="qtimages/style.css"> <script type="text/javascript" src="qtimages/jquery.js"></script> <script type="text/javascript" src="qtimages/arrow.js"></script> <script type="text/javascript" src="qtimages/inc.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head> <body> <?php include_once 'qttop.php';?> <div class="section"> <div class="kcBox clear-fix"> <div class="knowList2 clear-fix"> <div class="Ttitle"><?php echo $lb;?> <span>News</span> <div class="Tmore"> </div> </div> <!-- end Ttitle--> <ul class="knowListUl"> <?php $sql="select * from xinwentongzhi where 1=1"; if ($_GET["biaoti"]!=""){$sql=$sql." and biaoti like '%".$_GET["biaoti"]."%'";} if ($biaoti!=""){$sql=$sql." and biaoti like '%$biaoti%'";} if($lb!=""){$sql=$sql." and leibie='$lb'";} $sql=$sql." order by id desc"; echo $sql; $query=mysql_query($sql); $rowscount=mysql_num_rows($query); if($rowscount==0) {} else { $pagelarge=13;//每页行数; $pagecurrent=$_GET["pagecurrent"]; if($rowscount%$pagelarge==0) { $pagecount=$rowscount/$pagelarge; } else { $pagecount=intval($rowscount/$pagelarge)+1; } if($pagecurrent=="" || $pagecurrent<=0) { $pagecurrent=1; } if($pagecurrent>$pagecount) { $pagecurrent=$pagecount; } $ddddd=$pagecurrent*$pagelarge; if($pagecurrent==$pagecount) { if($rowscount%$pagelarge==0) { $ddddd=$pagecurrent*$pagelarge; } else { $ddddd=$pagecurrent*$pagelarge-$pagelarge+$rowscount%$pagelarge; } } for($i=$pagecurrent*$pagelarge-$pagelarge;$i<$ddddd;$i++) { ?> <li><a href="gg_detail.php?id=<?php echo mysql_result($query,$i,"id");?>"><?php echo mysql_result($query,$i,"biaoti");?></a><span><?php echo substr(mysql_result($query,$i,"addtime"),0,10);?></span> </li> <?php } } ?> <p align="center" class="Page"><a href="news.php?pagecurrent=1&lb=<?php echo $lb;?>">首页</a>, <a href="news.php?pagecurrent=<?php echo $pagecurrent-1;?>&lb=<?php echo $lb;?>">前一页</a> ,<a href="news.php?pagecurrent=<?php echo $pagecurrent+1;?>&lb=<?php echo $lb;?>">后一页</a>, <a href="news.php?pagecurrent=<?php echo $pagecount;?>&lb=<?php echo $lb;?>">末页</a>, <font color="#000000">当前第<?php echo $pagecurrent;?>页,共<?php echo $pagecount;?>页 以上数据共 <?php echo $rowscount; ?> 条,</font> <input name="Submit22" type="button" onclick="javascript:window.print();" value="打印本页" /> </p> </ul> <!-- end knowListUl--> </div> <!-- end knowList--> <div class="contact"> <div class="numTel">400-0000-000</div> <div class="companyConFont"><span style="font-family:Simsun;line-height:30px;"><?php readzd("dx","content","leibie","联系我们");?></span> </div> <div class="conMore"><a href="">更多 +</a></div> </div> <!-- end contact--> </div> <!-- end kcBox--> </div> <?php include_once 'qtdown.php';?> <!-- end footer--> </body> </html>
五,项目总结
研究内容
- 不同用户的登录问题:根据用户的类别(超级管理员、普通用户)实现用户操作权限的区分并显示不同的操作界面。
- 数据库的连接问题:数据库连接为系统中的关键技术。
- 数据的一致性和安全问题:本系统必须保证数据的一致性和安全,才能实现有效的管理。不能让没有权限的用户对数据进行操作并且定期对数据库进行备份。
- 界面开发:系统界面的设计很重要,要使界面具有亲和力。
- 分析网上书店化现状;
- 研究网上书店的现状及存在的问题;
- 研究系统平台的总体架构、总体设计、数据库设计、数据库安全设计及功能设计;
- 研究平台各个子系统的功能及实现的方法、信息技术的融合、信息安全技术的维护;
- 进行网上书店的功能设计。