基于PHP的信息發布平臺的設計與制作_第1頁
基于PHP的信息發布平臺的設計與制作_第2頁
基于PHP的信息發布平臺的設計與制作_第3頁
基于PHP的信息發布平臺的設計與制作_第4頁
基于PHP的信息發布平臺的設計與制作_第5頁
已閱讀5頁,還剩31頁未讀, 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

目錄TOC\o"1-4"\u基于PHP的信息發布平臺的設計與制作 [7](4)開發簡樸,共享性強此外,相對于本來C/S體系的二層結構,B/S體系擁有三層體系結構。其中多余來的一層是由原客戶端中分離出來的由服務器獨立組成的事務解決邏輯模塊。這種三層體系結構如圖1.2-2所示:圖1.2-2:B/S三層體系結構2系統需求分析2.1系統開發背景簡樸來說,當前信息量的爆炸性增長和個人精力的有限之間的矛盾是信息發布平臺開發的基本動力。當今社會,網絡已經進軍各行各業,人們生活的方方面面都跟網絡產生了緊密的聯系。而信息作為網絡世界的重要載體業已成為當今時代最為寶貴的資源之一?;ヂ摼W上每時每刻都會產生數目驚人的海量信息,而面對那些未經歸類整理的形形色色的海量信息普通人是無法從中獲取有價值的信息的。而這無疑既會影響到人們的平常工作、學習、生活,又是對信息所蘊藏價值的一種極大浪費。因而,我們需要一個信息搜集、歸類整理以及發布的專門平臺,在這個平臺上集中了人們所關注的某一個方面的信息并以實時更新的方式通過讓人一目了然的方式對外發布。本文所描述的系統以我校學生社團為研究對象進行開發。目前,我校各式學生社團共有一百多個,這些社團都會組織一些和自己社團宗旨相符合的課余活動,而這些活動的相關信息目前都是由各個社團自己的微博、微信等公共號進行發布的。這就導致沒有參與某個社團的同學無法或者很難了解到該社團的有關活動信息。因此,建立一個面向全體學生的統一的社團信息發布平臺,集中、整合、管理并實時發布社團活動信息就顯得有所必要。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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論