版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-4"\u基于PHP的信息发布平台的设计与制作 [7](4)开发简朴,共享性强此外,相对于本来C/S体系的二层结构,B/S体系拥有三层体系结构。其中多余来的一层是由原客户端中分离出来的由服务器独立组成的事务解决逻辑模块。这种三层体系结构如图1.2-2所示:图1.2-2:B/S三层体系结构2系统需求分析2.1系统开发背景简朴来说,当前信息量的爆炸性增长和个人精力的有限之间的矛盾是信息发布平台开发的基本动力。当今社会,网络已经进军各行各业,人们生活的方方面面都跟网络产生了紧密的联系。而信息作为网络世界的重要载体业已成为当今时代最为宝贵的资源之一。互联网上每时每刻都会产生数目惊人的海量信息,而面对那些未经归类整理的形形色色的海量信息普通人是无法从中获取有价值的信息的。而这无疑既会影响到人们的平常工作、学习、生活,又是对信息所蕴藏价值的一种极大浪费。因而,我们需要一个信息搜集、归类整理以及发布的专门平台,在这个平台上集中了人们所关注的某一个方面的信息并以实时更新的方式通过让人一目了然的方式对外发布。本文所描述的系统以我校学生社团为研究对象进行开发。目前,我校各式学生社团共有一百多个,这些社团都会组织一些和自己社团宗旨相符合的课余活动,而这些活动的相关信息目前都是由各个社团自己的微博、微信等公共号进行发布的。这就导致没有参与某个社团的同学无法或者很难了解到该社团的有关活动信息。因此,建立一个面向全体学生的统一的社团信息发布平台,集中、整合、管理并实时发布社团活动信息就显得有所必要。2.2系统定义本系统有两类重要用户,一类是全体学生,一类是各式学生社团。系统设立一个主页,各社团最新动态在主页面上分区显示,每个区域内都可以通过链接转向该社团的社团主页。每个社团自己的主业可以根据社团规定另行设计。对于普通学生个人用户只需通过浏览网页来获取自己所需信息即可;而对于社团用户,通过申请由管理员对其进行注册并向其发放已经注册成功地社团ID,社团用户凭此ID号可登录信息上传界面上传其活动信息。2.3功能需求分析本系统一共有三类用户:普通学生、学生社团和管理员。对于普通学生,只要通过域名就可以访问平台浏览各个社团发布的活动信息。对于社团用户,经管理员注册成功后具有登录该社团信息上传页面的权限,可以上传其相关活动的信息。而对于管理员,其具有访问后台数据库的权限。他负责新加入社团用户的注册,同时负责后台数据的增长、删除、修改等管理任务。此外,他还负责根据有关社团的规定管理网站代码,为其定制个性化的社团独立页面。对于后台数据库,则要设立注册信息表用以保存各个社团的注册信息并在社团用户每次登录时对其身份进行认证;设立管理员信息表用以保存管理员信息并对其登录情况进行记录;设立各个社团活动信息表用以对各社团所上传的活动信息加以保存。3系统概要设计3.1系统功能划分组织结构图根据以上对系统功能需求的分析,可得到系统功能划分组织结构图如图3.1-1所示:图3.1-1:系统功能划分组织结构图3.2数据库设计在社团活动信息发布平台的后台数据库中有注册信息表一个,其结构如下表3.2-1所示、管理员信息表一个,其结构如下表3.2-2所示、社团活动具体信息表若干,其结构如下表3.2-3所示。表3.2-1:注册信息表字段类型UseridInt(3)UsernameTextUserpasswordTextUsertelBigint(11)UseremailTextUseraddressTextRegistimeDatetime表3.2-2:管理员信息表字段类型manageridInt(4)passwordtextlogintimedatetime表3.2-3:社团活动信息表字段类型UseridInt(11)ActitleTextAcinfoTextUptimeDatetime4系统的具体设计与实现4.1系统组成及运作流程本系统涉及一个主页面用于显示各个社团的最新动态,一个社团用户登录界面,一个具体信息上传界面用于社团用户上传其活动相关信息以及若干的社团独立页面用于展示与该社团相关的其他具体信息。系统的运作流程是:一方面由社团用户向管理员申请获得一个社团ID后,该社团便可登录系统并上传最新的社团动态。而普通学生用户则是直接通过网页获取自己感爱好的信息即可,无需登录。管理员和社团用户均可对后台数据库进行相应的操作,则实现前端与后台数据库连接的代码如下:<?php$mysql_server_name='localhost';//我的mysql数据库服务器$mysql_username='root';//我的mysql数据库用户名$mysql_password='';//我的mysql数据库密码//未设立$mysql_database='emiya';//我的mysql数据库名$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database)ordie("errorconnecting");//连接数据库mysqli_query($conn,"setnames'utf8'");//数据库输出编码//mysqli_select_db($mysql_database);//打开数据库session_start();?>4.2系统主页系统暂设有4个学生社团用户,其社团最新动态信息在前端主页的显示效果如下图4.2-1所示,其后台数据库存储如下图4.2-2所示:图4.2-1:系统主页图4.2-1:已注册社团在数据库中的存储图4.2-1中时钟为动态翻页时钟,其实现代码如下: varh_current=-1; varm1_current=-1; varm2_current=-1; vars1_current=-1; vars2_current=-1; functionflip(upperId,lowerId,changeNumber,pathUpper,pathLower){ varupperBackId=upperId+"Back"; $(upperId).src=$(upperBackId).src; $(upperId).setStyle("height","64px"); $(upperId).setStyle("visibility","visible"); $(upperBackId).src=pathUpper+parseInt(changeNumber)+".png"; $(lowerId).src=pathLower+parseInt(changeNumber)+".png"; $(lowerId).setStyle("height","0px"); $(lowerId).setStyle("visibility","visible"); varflipUpper=newFx.Tween(upperId,{duration:200,transition:Fx.Transitions.Sine.easeInOut}); flipUpper.addEvents({ 'complete':function(){ varflipLower=newFx.Tween(lowerId,{duration:200,transition:Fx.Transitions.Sine.easeInOut}); flipLower.addEvents({ 'complete':function(){ lowerBackId=lowerId+"Back"; $(lowerBackId).src=$(lowerId).src; $(lowerId).setStyle("visibility","hidden"); $(upperId).setStyle("visibility","hidden"); } }); flipLower.start('height',64); } }); flipUpper.start('height',0); }//flip functionretroClock(){ //getnewtime now=newDate(); h=now.getHours(); m1=now.getMinutes()/10; m2=now.getMinutes()%10; s1=now.getSeconds()/10; s2=now.getSeconds()%10; if(h<12) ap="AM"; else{ if(h==12) ap="PM"; else{ ap="PM"; h-=12;} } //changepads if(h!=h_current){ flip('hoursUp','hoursDown',h,'clock_flip/Single/Up/'+ap+'/','clock_flip/Single/Down/'+ap+'/'); h_current=h; } if(m2!=m2_current){flip('minutesUpRight','minutesDownRight',m2,'clock_flip/Double/Up/Right/','clock_flip/Double/Down/Right/'); m2_current=m2; flip('minutesUpLeft','minutesDownLeft',m1,'clock_flip/Double/Up/Left/','clock_flip/Double/Down/Left/'); m1_current=m1; } if(s2!=s2_current){ flip('secondsUpRight','secondsDownRight',s2,'clock_flip/Double/Up/Right/','clock_flip/Double/Down/Right/'); s2_current=s2; flip('secondsUpLeft','secondsDownLeft',s1,'clock_flip/Double/Up/Left/','clock_flip/Double/Down/Left/'); s1_current=s1; } } setInterval('retroClock()',1000);4.3管理操作页面4.3.1管理员操作页面管理员具有登录和注册新社团用户的权限。其中,登录页面由管理员和已注册成功的社团用户共用,两者均可通过以下同一页面进行登录对后台数据库分别进行相应的操作。登录页面如下图4.3-1所示:图4.3-1:登录界面登录操作实现代码如下:<?php//admin登录验证if(!isset($_POST['submit'])){exit('非法访问("_")!');}require_once("db_config.php");$userid=$_POST['userid'];$password=md5($_POST['password']);//16位加密admin...$result1=array("$userid","$password");if($userid!="8324"){//社团登录$sql="select`userid`,`userpassword`fromregisterinforwhereuserid='$userid'anduserpassword='$password'limit1";$check_query=mysqli_query($conn,$sql);$result2=mysqli_fetch_array($check_query);if($result1[0]==$result2[0]and$result1[1]==$result2[1]){//登录成功//session_start();//传递参数//$_SESSION['userid']=$userid;header("Location:../mass_news.php");//转社团信息add}else{exit('登录失败!点击此处<ahref="javascript:history.back(-1);">返回</a>重试');}}else{//管理员登录$sql="select`managerid`,`password`frommanageinforwheremanagerid='$userid'andpassword='$password'limit1";$check_query=mysqli_query($conn,$sql);$result2=mysqli_fetch_array($check_query);if($result1[0]==$result2[0]and$result1[1]==$result2[1]){//登录成功session_start();//传递参数$_SESSION['managerid']=$userid;//$_SESSION['userid']=$result['userid'];header("Location:../mass_insert.php");}else{exit('登录失败!点击此处<ahref="javascript:history.back(-1);">返回</a>重试');}}?>管理员注册新用户页面如下图4.3-2所示:图4.3-2:新用户注册页面新社团用户注册实现代码如下:<?php//社团注册信息更新if(!isset($_POST['submit'])){exit('非法访问("_")!');}require_once("db_config.php");$userid=$_POST['userid'];$username=$_POST['username'];$password=md5($_POST['password']);//16位加密$usertel=$_POST['usertel'];$useremail=$_POST['useremail'];$useraddress=$_POST['useraddress'];date_default_timezone_set('Asia/Shanghai');$time=date('Y-m-dH:i:s');$sql="insertinto`registerinfor`(`userid`,`username`,`userpassword`,`usertel`,`useremail`,`useraddress`,`registime`)values('$userid','$username','$password','$usertel','$useremail','$useraddress','$time')";mysqli_query($conn,$sql);mysqli_close($conn);header("location:../mass_insert.php");?>4.3.2社团用户操作页面社团用户具有登录和上传最新社团动态的权限。其登录页面与管理员公用如上图4.3-1所示。其信息上传页面如下图4.3-3所示:图4.3-3:信息上传页面其实现代码如下:<?php//更新信息加图片require_once("db_config.php");//上传文献的途径//$mass_num=$_SESSION['mass_num'];$dir='F:\xampp\htdocs\mass_1\images';if($_FILES['pic']['error']!=UPLOAD_ERR_OK){switch($_FILES['pic']['error']){caseUPLOAD_ERR_INI_SIZE://其值为1,上传的文献超过了php.ini中upload_max_filesize选项限制的值die('Theuploadfileexceedstheupload_max_filesizedirectiveinphp.ini');break;caseUPLOAD_ERR_FORM_SIZE://其值为2,上传文献的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值die('TheuploadedfileexceedstheMAX_FILE_SIZEdirectivethatwasspecifiedintheHTMLform.');break;caseUPLOAD_ERR_PARTIAL://其值为3,文献只有部分被上传die('Theuploadedfilewasonlypartiallyuploaded.');break;caseUPLOAD_ERR_NO_FILE://其值为4,没有文献被上传die('Nofilewasuploaded.');break;caseUPLOAD_ERR_NO_TMP_DIR://其值为6,找不到临时文献夹die('Theserverismissingatemporaryfolder.');break;caseUPLOAD_ERR_CANT_WRITE://其值为7,文献写入失败die('Theserverfailedtowritetheuploadedfiletodisk.');break;caseUPLOAD_ERR_EXTENSION://其他异常die('Fileuploadstoppedbyextension.');break;}}$actitle=$_POST['actitle'];$acinfo=$_POST['acinfo'];date_default_timezone_set('Asia/Shanghai');$time=date('Y-m-dH:i:s');list($width,$height,$type,$attr)=getimagesize($_FILES['pic']['tmp_name']);//imagecreatefromgXXX方法从一个url途径中创建一个新的图片switch($type){caseIMAGETYPE_GIF:$image=imagecreatefromgif($_FILES['pic']['tmp_name'])ordie('Thefileyouuploadwasnotsupportedfiletype');$ext='.gif';break;caseIMAGETYPE_JPEG:$image=imagecreatefromjpeg($_FILES['pic']['tmp_name'])ordie('Thefileyouuploadwasnotsupportedfiletype');$ext='.jpg';break;caseIMAGETYPE_PNG:$image=imagecreatefrompng($_FILES['pic']['tmp_name'])ordie('Thefileyouuploadwasnotsupportedfiletype');$ext='.png';break;default:die('Thefileyouuploadedwasnotasupportedfiletype.');}$query="insertinto`121`(`actitle`,`acinfo`,`uptime`)values('$actitle','$acinfo','$time')";mysqli_query($conn,$query)ordie(mysql_error($conn));$sql="SELECT`userid`FROM`121`WHERE1orderby`uptime`desclimit0,1";$reult=mysqli_query($conn,$sql);$row=mysqli_fetch_assoc($reult);$last_id=$row['userid'];//用写入的id作为图片的名字,避免同名的文献存放在同一目录中$imagename=$last_id.$ext;//$query='updateimagessetimage_filename="'.$imagename.'"whereimage_id='.$last_id;//mysql_query($query,$db)ordie(mysql_error($db));//有url指定的图片创建图片并保存到指定目录switch($type){caseIMAGETYPE_GIF:imagegif($image,$dir.'/'.$imagename);break;caseIMAGETYPE_JPEG:imagejpeg($image,$dir.'/'.$imagename);break;caseIMAGETYPE_PNG:imagepng($image,$dir.'/'.$imagename);break;}//销毁由url生成的图片imagedestroy($image);header("location:../mass_news.php");?>4.4社团独立主页社团最新动态显示在主页上,此外通过主页上各社团显示区域右下角的“READMORE”按钮可以跳转至相应的社团独立主页。社团独立主页上显示更多该社团的相关信息。以“热风”社团为例,其独立主页如下图4.4-1所示:图4.4-1:“热风”主页其后台数据库如下图4.4-2所示:图4.4-2:“热风”主页后台数据库其实现代码如下:(1)从后台数据库读取已上传的信息:<?php//读“热风”的信息//require_once("db_config.php");$offset=$_SESSION['$offset'];$mass=$_SESSION['$mass'];$sql="SELECT`userid`,`actitle`,`acinfo`,`uptime`FROM`$mass`WHERE1orderby`uptime`desclimit$offset,1";$reult=mysqli_query($conn,$sql);$row=mysqli_fetch_assoc($reult);?>(2)在主页上显示读到的内容:<!DOCTYPEHTML><html><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>热风主页</title><!--css3-mediaqueries.jsforIE8orolder--><!--[ifltIE9]> <scriptsrc=""></script><![endif]--><linkhref="css/styles.css"rel="stylesheet"type="text/css"></head><body><headerclass="container"><h1>风起,万物生!</h1><nav><ulid="navlist"><!--<liid="active"><ahref="#">Home</a></li><li><ahref="#">About</a></li><li><ahref="#">Contact</a></li>--></ul></nav></header><sectionclass="container"><?phprequire_once("../php/db_config.php");$i=0;$offset=0;//array("sidebar1","horSeparator","content","horSeparator")$class=array("sidebar1","horSeparator");$sql_m1="SELECT`userid`,`actitle`,`acinfo`,`uptime`FROM`121`WHERE1orderby`uptime`desclimit$offset,1";$reult_m1=mysqli_query($conn,$sql_m1);while($row_m1=mysqli_f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学大一(康复治疗学)康复心理学阶段测试题及答案
- 2026年跨省跨区绿色电力交易项目评估报告
- 2025年大学兽医学(动物生理学)试题及答案
- 2025年中职(市场营销)产品推广策划阶段测试试题及答案
- 多溴联苯醚孕期暴露的胎儿神经毒性研究
- 2025年大学工业机器人(机器人故障诊断)试题及答案
- 2025年大学学前教育(幼儿教育政策法规)试题及答案
- 2025年高职智能制造(智能产线规划)试题及答案
- 2025年高职公共事务管理(公共管理基础)试题及答案
- 2025年高职烹饪工艺与营养(烹饪原料学)试题及答案
- JTJ-T-257-1996塑料排水板质量检验标准-PDF解密
- 残疾人法律维权知识讲座
- 火力发电厂机组A级检修监理大纲
- 沥青维护工程投标方案技术标
- 水电站建筑物课程设计
- 儿童行为量表(CBCL)(可打印)
- 硒功能与作用-课件
- 《英语教师职业技能训练简明教程》全册配套优质教学课件
- DB53∕T 1034-2021 公路隧道隐蔽工程无损检测技术规程
- 同步工程的内涵、导入和效果
- DB32∕T 2349-2013 杨树一元立木材积表
评论
0/150
提交评论