任务11 PHP程序开发范例_第1页
任务11 PHP程序开发范例_第2页
任务11 PHP程序开发范例_第3页
任务11 PHP程序开发范例_第4页
任务11 PHP程序开发范例_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务11

PHP程序开发范例

PHP网站开发实战项目式教程学习目标【知识目标】熟练掌握PHP+MySQL项目开发流程掌握范例中的数据库设计了解MVC开发模式【技能目标】能利用PHP+MySQL进行项目的设计与程序编写掌握框架开发的基本流程章节内容及任务:子任务一:美食分享网站子任务二:宿舍管理系统子任务一:美食分享网站前台功能首页:分别根据不同的查询要求,对美食进行分类显示。用户注册:用户通过用户名、密码、电子邮箱、昵称、性别等可以进行用户注册。美食浏览:用户可以进行美食的分类浏览(包括特色美食、美食线路、个人分享)。个人分享:用户在浏览美食的过程中,也可以添加自己的分享心得,但如果只是普通浏览者(没有注册)则无法进行分享。用户个人信息修改:如个人信息的修改,手机号码、邮箱地址、个人图片等。密码的修改需要输入正确的旧密码和新密码后进行修改密码。安全退出:用户安全退出网站。子任务一:美食分享网站子任务一:美食分享网站后台功能系统管理:显示当前服务器版本、数据库版本、服务器地址及操作系统等信息。美食管理:对前台主页的美食信息进行编辑管理(增加、删除、修改和查询),通过浏览点击量来获取其受欢迎程度。线路管理:对前台主页中的美食线路进行编辑管理(增加、删除、修改和查询),通过浏览点击量来获取其受欢迎程度。分享管理:对前台用户添加的美食分享进行编辑管理(删除、修改和查询)。会员管理:对前台注册的用户进行管理,并对其是否为网站会员进行维护。安全退出:安全退出当前网站。修改管理员密码及资料:可修改当前登录管理员的登录密码及资料。子任务一:美食分享网站子任务一:美食分享网站数据库设计数据库命名为meishifenxiang,包括5张数据表,各表说明以及结构请参见具体的SQL文档。子任务一:美食分享网站数据库相关操作在config.php文件中定义连接数据库参数。【实施与测试】<?php $CONFIG=array( 'db_host'=>"", 'db_name'=>"meishifenxiang", 'db_user'=>"root", 'db_pass'=>"", 'url'=>"http://localhost/meishifenxiang", 'webname'=>"广东工程职业技术学院

信息工程学院", );?>子任务一:美食分享网站数据库相关操作在init.php文件中,定义了每个页面需要加载的文件及参数:【实施与测试】<?phpinclude_onceROOT_PATH."/config.php"; include_onceROOT_PATH."/common/func_db.php"; include_onceROOT_PATH."/common/function.php"; include_onceROOT_PATH."/common/Page.class.php"; define('__BASE__',$CONFIG["url"]); define('__PUBLIC__',$CONFIG["url"]."/Public"); session_start(); $host=$CONFIG["db_host"]; $user=$CONFIG["db_user"]; $password=$CONFIG["db_pass"]; $database=$CONFIG["db_name"]; $db=mysqli_connect($host,$user,$password,$database)ordie("数据库连接中"); mysqli_query($db,"setnamesutf8;");?>子任务一:美食分享网站数据库相关操作在func_db.php文件中定义相关数据库操作方法:【实施与测试】//1)连接数据库functiondb_connection(){ global$CONFIG; $host=$CONFIG["db_host"]; $user=$CONFIG["db_user"]; $password=$CONFIG["db_pass"]; $database=$CONFIG["db_name"]; $db=mysqli_connect($host,$user,$password,$database)ordie("数据库连接中"); mysqli_query($db,"setnamesutf8;"); }子任务一:美食分享网站数据库相关操作在func_db.php文件中定义相关数据库操作方法:【实施与测试】//2)添加数据(数据表,数组字段)

functiondb_add($db,$table,$dataA){ if($table&&count($dataA)>0){ $strleft=''; $strright=''; foreach($dataAas$key=>$val){ $strleft.=','.$key; $strright.=','.$val; } $strleft='insertinto'.$table.'('.ltrim($strleft,',').')'; $strright='values('.ltrim($strright,',').')'; $sql=$strleft.$strright; db_query($db,$sql); returndb_insert_id(); } }子任务一:美食分享网站数据库相关操作在func_db.php文件中定义相关数据库操作方法:【实施与测试】//3)修改数据(数据表,数组字段,主键id)functiondb_mdf($db,$table,$dataA,$id){ if($table&&count($dataA)>0&&$id){ $setsql=''; $wheresql=''; foreach($dataAas$key=>$val){ $setsql.=','.$key.'='.$val; } $setsql=ltrim($setsql,','); $wheresql="idin(".$id.")";

$sql='update'.$table.'set'.$setsql; $sql.='where'.$wheresql; db_query($db,$sql); } }子任务一:美食分享网站数据库相关操作在func_db.php文件中定义相关数据库操作方法:【实施与测试】……// 6)获取一条查询数据(并返回一维数组)

functiondb_get_row($db,$sql){ $result=db_query($db,$sql); $rs=mysqli_fetch_array($result); return$rs; }//7)获取多条查询数据(并返回二维数组)

functiondb_get_all($db,$sql){ $result=db_query($db,$sql); $rs=array(); while($row=mysqli_fetch_array($result)){ $rs[]=$row; } return$rs; }……子任务一:美食分享网站【前台的实现】载入网页固定的头部header.php和footer.php页面。子任务一:美食分享网站首页index.php页面中特色美食主要是介绍该网站所有的美食信息,即数据表tese表中的数据,美食分享主要是数据表fenxiang中的数据。子任务一:美食分享网站<?php $new_art1=db_get_all($db,"select*fromteseorderbyapvdesclimit4"); foreach($new_art1as$row){?><divstyle="float:left;margin:5px;width:231px;"><tablewidth="223"height="89"border="0"cellpadding="0"cellspacing="0"style="margin:10px;"> <tr> <tdalign="center"valign="middle"class="inda"><ahref="<?phpecho__BASE__;?>/listshow.php?id=<?phpecho$row['id'];?>"style=""> <?php if(!$row["img"]){ ?> <imgsrc="<?phpecho__PUBLIC__;?>/Upload/zanwu.jpg"width="223"height="160"/> <?php}else{?> <imgsrc="<?phpecho__PUBLIC__;?>/Upload/<?phpecho$row["img"];?>"width="223"height="160"/> <?php}?></a> </td></tr><tr><tdheight="30"align="center"><?phpecho$row['title'];?></td></tr></table></div><?php}?>子任务一:美食分享网站<tdheight="30"align="left"valign="middle"><?php $new_art1=db_get_all($db,"select*fromfenxiangorderbyapvdesclimit3"); foreach($new_art1as$row){?><divstyle="float:left;margin:5px;width:231px;"><tablewidth="223"height="89"border="0"cellpadding="0"cellspacing="0"style="border:#CCC1pxsolid;margin:10px;"> <tr> <tdalign="center"valign="middle"class="inda"> <ahref="<?phpecho__BASE__;?>/fenxiangshow.php?id=<?phpecho$row['id'];?>"><?php if(!$row["img"]){?> <imgsrc="<?phpecho__PUBLIC__;?>/Upload/zanwu.jpg"width="223"height="160"/> <?php}else{?> <imgsrc="<?phpecho__PUBLIC__;?>/Upload/<?phpecho$row["img"];?>"width="223"height="160"/> <?php}?></a> </td><tr><tdheight="30"align="center"><?phpecho$row['title'];?></td></tr></table></div><?php}?></td>子任务一:美食分享网站特色美食页面list.php主要是介绍该网站所有的美食信息,即数据表tese表中的数据,点击单个图片后会进入美食的详细介绍页面。由于内容较多,使用了分页显示功能。子任务一:美食分享网站美食线路xianlu.php页面主要是显示数据表xianlu表的,该页面线路显示顺序是根据每条线路的热度进行排序而来,每点击一次美食线路进入详细页面后,该线路的热度会增加。子任务一:美食分享网站在个人分享页面fenxiang.php,主要可以查看分享的内容,即数据表fenxiang表中的数据。子任务一:美食分享网站会员注册主要是填写个人基本信息,进行提交成为会员。子任务一:美食分享网站会员登陆输入正确用户名和密码后,进入网站,如没有登陆,则网站部分内容无法查看(如个人分享)。子任务一:美食分享网站【后台的实现】由前台会员登录页面中的管理员入口进入后台登录界面(用户名、密码默认均为admin)。进入后台首先会将服务器的基本信息展示出来,左侧则是主要功能设置(美食管理、线路管理、分享管理、会员管理),右上方的“预览网站”和“后台首页”分别指向前台和后台的首页。子任务一:美食分享网站美食管理美食管理主要对特色美食进行增加、编辑、删除和查询操作。子任务一:美食分享网站<?php include_once("top.php"); $page=$_REQUEST["page"]?$_REQUEST["page"]:1; $where_sql="1=1"; if($_REQUEST["title"]){ $where_sql.="andtitlelike'%".$_REQUEST["title"]."%'"; } $list=db_get_page($db,"select*fromtesewhere$where_sqlorderbyiddesc",$page); if($page*1>$list["page"]*1){ $page=$list["page"]; } $Page=newPage($list["total"],$list["page_size"],"&title=".$_REQUEST["title"],$page); $page_show=$>show();?><ulid="sdcms_sub_title"> <liclass="sub"><a>信息管理</a></li></ul><divid="sdcms_right_b"><tablewidth="100%"border="0"align="center"cellpadding="3"cellspacing="1"class="table_b"> <tr><tdcolspan="13"class="tdbg"><formid="pagerForm"action="?"method="post"> <inputtype="hidden"name="pageNum"value="<?phpecho$page;?>"/> <inputtype="text"name="title"class="input"value="<?phpecho$_REQUEST["title"];?>"/><buttontype="submit"id="chaxun"class="bnt01">查询</button></form></td></tr> <tr> <tdwidth="30"align="center"class="title_bg">Id</td><tdalign="center"class="title_bg">标题</td><tdwidth="40"align="center"class="title_bg">人气</td> <tdwidth="150"align="center"class="title_bg">时间</td><tdwidth="100"align="center"class="title_bg">管理</td></tr> <?php foreach($list["data"]as$row){ ?><tronmouseover=this.bgColor='#EEFEED';onmouseout=this.bgColor='#ffffff';bgcolor='#ffffff'> <tdheight="25"align="center"><?phpecho$row['id'];?></td><tdalign="center"><?phpecho$row['title'];?></td> <tdalign="center"><?phpecho$row['apv'];?></td> <tdalign="center"><?phpecho$row['addtime'];?></td><tdalign="center"><ahref="<?phpecho__BASE__;?>/admin/tese_edit.php?id=<?phpecho$row['id'];?>">编辑</a><ahref="<?phpecho__BASE__;?>/admin/del.php?id=<?phpecho$row['id'];?>&del=tese"onclick='returnconfirm("真的要删除?不可恢复!");'>删除</a></td></tr> <?php}?> <tr><tdcolspan="13"class="tdbgcontent_page"align="center"><?phpecho$page_show;?></td> </tr></table></div></body></html>子任务一:美食分享网站线路管理线路管理主要是对美食线路进行增加、编辑、删除和查询操作。子任务一:美食分享网站分享管理分享管理是对美食分享进行增加、编辑、删除和查询操作。为提高数据采集的有效性,系统在添加美食分享的数据同时也将其数据一并添加到了特色美食数据中。子任务一:美食分享网站会员管理会员管理主要是对会员进行增加、编辑、删除和查询操作。通过会员信息的修改,可以设置其为高级会员。当用户的身份是“高级会员”时,其分享内容还可以提交至特色美食区域。子任务二:宿舍管理系统【任务陈述】学生的宿舍管理是每个学校不可缺失的管理环节,建立一个宿舍管理系统,管理员能及时将宿舍基本信息、宿舍违纪情况、宿舍访客情况、宿舍维修情况进行登记,同时让学生自行查询宿舍相关信息,对宿舍维修的申报、纪律考勤等。运用信息管理系统来进行宿舍寝室的管理将会提高寝室运作管理的时效性和确保信息传达的有效性和及时性。网站框架使用:TP(thinkphp)。子任务二:宿舍管理系统系统整体设计所实现的功能以及设计要求如下:页面登录:超级管理员、管理员、学生可以通过自己的账号与密码登录系统。超级管理员:对院系信息的管理、对各院系班级的管理、对公寓的管理、对各个宿舍的管理、对各个公寓管理员的管理、宿舍分配管理。公寓管理员:对学生信息的管理、模糊查询学生信息、学生违纪信息的录入公布、外访人员的信息录入、学生提交的报修信息的查看处理、公告发布管理与更新;学生:登录、查看个人信息、查看所在宿舍信息、修改密码、查看个人违纪信息、提交个人报修申请;子任务二:宿舍管理系统超级管理员被赋予系统的最高权限,基本可以实现全部功能,主要功能分为七大块:学院管理、班级管理、公寓管理、宿舍管理、对宿舍管理员的管理、学生管理。子任务二:宿舍管理系统公寓管理员模块主要包括四个模块:管理员信息处理、学生信息管理、录入信息管理以及申请信息管理。子任务二:宿舍管理系统学生模块主要包括两个模块:信息管理、公寓管理。子任务二:宿舍管理系统这个宿舍管理系统主要涉及到11张数据表:超级管理员表superadmin管理员表admin学生信息表student公寓信息表apartment学院信息表college班级信息表grades宿舍信息表dormitory公布信息表notice违纪信息表discipline报修信息表repair访客信息表visitors子任务二:宿舍管理系统登录界面:本系统的首页即登录页面,不同用户类型登录之后,执行不同操作(学生、管理员、超级管理员)。没有登录直接访问其它页面,系统会自动跳转到登录页面。子任务二:宿舍管理系统用户登录主要实现代码functionlogin(){ //两个逻辑,展示、收集if(!empty($_POST)){ //调用verify类中的check方法 ob_clean(); $very=newVerify(); if($very->check($_POST['yzm'])){ //用户名和密码校验 if($_POST['select']==1){ $admin=new\Model\AdminModel(); $info=$admin->checkNamePwd($_POST['admin_name'],$_POST['password']); if($info){ //存放session(id,name),页面跳转 session('admin_id',$info['admin_id']); session('admin_name',$info['admin_name']); $this->redirect('Index/index'); }else{ echo'<scripttype="text/javascript">alert("公寓管理员用户名或密码错误!");history.back();</script>'; } } if($_POST['select']==0){ $admin=new\Model\SuperadminModel(); $info=$admin->checkNamePwd($_POST['admin_name'],$_POST['password']);

用户登录主要实现代码if($info){ //存放session(id,name),页面跳转

session('admin_id',$info['sup_id']); session('admin_name',$info['sup_cardid']); $this->redirect('Super/Index/index'); }else{ echo'<scripttype="text/javascript">alert("超级

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论