焦顯偉+閆品
摘要:面對(duì)民辦高職愈發(fā)嚴(yán)峻的招生形勢(shì),本文以服務(wù)器端技術(shù)Apache+PHP+MySQL為基礎(chǔ),開發(fā)設(shè)計(jì)了招生管理信息系統(tǒng),提高了招生辦公質(zhì)量。
Abstract: In the face of the worse situation of enrollment of private higher vocational colleges, based on the Apache + PHP + MySQL server technology, the enrollment management information system is developed and designed, which has improved the quality of the admissions office.
關(guān)鍵詞:PHP;招生;信息系統(tǒng)
Key words: PHP;enrollment;information system
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2016)29-0163-02
0 引言
這些年,民辦高職的招生形勢(shì)嚴(yán)峻,零投檔、餓肚子民辦高校還能撐多久。生源競(jìng)爭(zhēng)白熱化、全面化,改進(jìn)招生宣傳途徑,提高服務(wù)管理水平是工作重心之一。注冊(cè)入學(xué)以來,考生選擇學(xué)校的余地更大,對(duì)學(xué)校綜合水平考察的更仔細(xì)。借助網(wǎng)絡(luò)展示考生最想關(guān)注的內(nèi)容,與考生手拉手在線交流、心貼心熱心服務(wù),吸引越來越挑剔的學(xué)生。同時(shí),順應(yīng)高校信息化工程建設(shè)浪潮,打開高校信息化建設(shè)十分重要的另一扇窗口,改善傳統(tǒng)招生管理模式。這樣,結(jié)合學(xué)校招生實(shí)際和實(shí)踐操作開發(fā)設(shè)計(jì)的基于PHP招生管理信息系統(tǒng)應(yīng)運(yùn)而生。該系統(tǒng)方便對(duì)招生數(shù)據(jù)進(jìn)行查詢、發(fā)布和管理等相關(guān)操作,既可以幫助學(xué)生及時(shí)全面的了解學(xué)校,又能提高招生工作效率。
1 系統(tǒng)總體設(shè)計(jì)與實(shí)現(xiàn)
1.1 系統(tǒng)功能設(shè)計(jì)
在開發(fā)設(shè)計(jì)系統(tǒng)時(shí),主要考慮考生最想關(guān)注內(nèi)容的發(fā)布、查詢以及與學(xué)校的在線信息交流和互動(dòng),還有學(xué)校對(duì)考生預(yù)報(bào)名、留言的實(shí)時(shí)回應(yīng)。其目的一是為了提高招生辦公質(zhì)量,提升學(xué)生報(bào)到率,二是滿足高校信息化建設(shè)日益增長(zhǎng)需求。在滿足招生辦公需求的基礎(chǔ)上,采用總體規(guī)劃、分模塊完成設(shè)計(jì)。
該系統(tǒng)包含三個(gè)角色,考生、招生管理員、系統(tǒng)管理員。每級(jí)角色都要驗(yàn)證,都分別對(duì)應(yīng)不同的功能模塊,不能越級(jí)管理和操作。就考生而言,本系統(tǒng)包括招生熱點(diǎn)公告、錄取結(jié)果查詢、在線咨詢、留言服務(wù)、在線報(bào)名等功能模塊。錄取結(jié)果發(fā)布后,考生使用考生號(hào)等登錄,在線查詢錄取專業(yè)和部分學(xué)籍信息。關(guān)注入學(xué)公告,QQ在線咨詢,使用留言服務(wù)與校方進(jìn)行溝通與交流。在預(yù)錄取結(jié)果發(fā)布之前,考生作為游客可以瀏覽熱點(diǎn)公告及招考最新消息和動(dòng)態(tài)、在線咨詢、預(yù)報(bào)名及報(bào)名狀態(tài)查閱,并能夠發(fā)表留言、查看留言。
后臺(tái)管理包括公告管理、考生信息管理、QQ在線咨詢管理、留言管理、預(yù)報(bào)名管理等。招生管理員通過身份驗(yàn)證后進(jìn)入后臺(tái),能夠分別對(duì)新聞公告、考生信息、QQ在線咨詢、留言進(jìn)行添加、修改、發(fā)布、刪除、回復(fù)等綜合管理。對(duì)預(yù)報(bào)名進(jìn)行審閱、分類統(tǒng)計(jì)、打印等。系統(tǒng)管理員具有最高權(quán)限,不僅具有招生管理員權(quán)限,還能對(duì)招生管理員進(jìn)行管理,如新增、修改、刪除招生管理員等。每級(jí)角色都包括退出系統(tǒng)模塊,用戶退出系統(tǒng)后清空并銷毀系統(tǒng)為其創(chuàng)建的會(huì)話,保障用戶信息的安全。系統(tǒng)的后臺(tái)功能結(jié)構(gòu)圖如圖1所示。
1.2 系統(tǒng)技術(shù)選擇
系統(tǒng)采用B/S架構(gòu),即三層架構(gòu)Web應(yīng)用模型,三層是指表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)庫(kù)和后臺(tái)應(yīng)用(圖1所示)。表現(xiàn)層即瀏覽器層,該層提供給用戶一個(gè)交互界面。業(yè)務(wù)層即Web服務(wù)器層,該層響應(yīng)表現(xiàn)層的用戶請(qǐng)求,并與數(shù)據(jù)庫(kù)和后臺(tái)應(yīng)用通信,然后將反饋信息傳送給表現(xiàn)層。三層架構(gòu)具有良好的可擴(kuò)展性和可維護(hù)性,也增加了數(shù)據(jù)庫(kù)和后臺(tái)應(yīng)用系統(tǒng)的安全性。Web應(yīng)用系統(tǒng)的開發(fā)技術(shù)包括客戶端技術(shù)和服務(wù)器端技術(shù)??蛻舳思夹g(shù)由瀏覽器、HTML/XML、CSS、JS等組成。服務(wù)器端技術(shù)包括IIS+ASP.NET+SQL Server、Weblogic+J2EE+Oracle、Apache+PHP+MySQL。而Apache+PHP+MySQL是開發(fā)中小型Web應(yīng)用系統(tǒng)的黃金組合,它簡(jiǎn)單易學(xué),開發(fā)速度快,軟件開源,性能好、穩(wěn)定性高,是本系統(tǒng)的首選。其中Apache為Web服務(wù)器軟件、PHP為服務(wù)器端開發(fā)語(yǔ)言、MySQL為數(shù)據(jù)庫(kù)系統(tǒng)。開發(fā)工具采用Dreamweaver,布局方式采用DIV+CSS,以此完成基于PHP招生管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)需求分析,制定合理的數(shù)據(jù)庫(kù)是系統(tǒng)成功開發(fā)設(shè)計(jì)的根本,作為一種健壯而廉價(jià)的數(shù)據(jù)庫(kù)解決方案MySQL數(shù)據(jù)倉(cāng)庫(kù)是本系統(tǒng)的首選,MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣增加了速度并提高了靈活性。本系統(tǒng)在MySQL下共設(shè)計(jì)六個(gè)數(shù)據(jù)表,各個(gè)數(shù)據(jù)表的名稱如下:newswire新聞公告數(shù)據(jù)表,message留言數(shù)據(jù)表,students考生信息數(shù)據(jù)表,user管理員數(shù)據(jù)表,qq在線咨詢數(shù)據(jù)表,sign_up預(yù)報(bào)名數(shù)據(jù)表。
1.4 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
1.4.1 系統(tǒng)界面實(shí)現(xiàn)
系統(tǒng)整個(gè)頁(yè)面布局的實(shí)現(xiàn)采用DIV+CSS,DIV是一個(gè)塊級(jí)元素,意味著它的內(nèi)容自動(dòng)開始一個(gè)新行,DIV起始和結(jié)束標(biāo)簽之間的所有內(nèi)容都構(gòu)成了這個(gè)塊,網(wǎng)頁(yè)的內(nèi)容放在DIV中。CSS是Cascading Style Sheets(層疊樣式表)的縮寫,它負(fù)責(zé)控制網(wǎng)頁(yè)的外觀和內(nèi)容的顯示效果。該系統(tǒng)主界面分四大塊,上下兩塊是標(biāo)題header和注腳footer,中間部分再分成左右兩塊,左側(cè)DIV是導(dǎo)航欄sidebar,右側(cè)DIV是內(nèi)容欄maincontent。內(nèi)容欄里加入iframe框架,屬性name為mainFrame。導(dǎo)航欄超鏈接的target屬性值設(shè)置為mainFrame,這樣DIV內(nèi)容欄maincontent為整個(gè)導(dǎo)航頁(yè)面提供了主功能顯示區(qū)域。
1.4.2 數(shù)據(jù)訪問實(shí)現(xiàn)
進(jìn)行MySQL數(shù)據(jù)庫(kù)操作前,要使用PHP函數(shù)實(shí)現(xiàn)PHP與MySQL服務(wù)器之間的成功連接。該函數(shù)mysql_connect的參數(shù)包括MySQL服務(wù)器的地址、用戶名、密碼,由于該Web應(yīng)用系統(tǒng)采用三層架構(gòu),參數(shù)MySQL服務(wù)器的地址不再是localhost,而是其IP地址。同時(shí),數(shù)據(jù)庫(kù)mysql下的數(shù)據(jù)表user的Host字段值要設(shè)定MySQL服務(wù)器的IP地址??紤]到安全性,建議用戶不要設(shè)定通配符%。與MySQL服務(wù)器建立連接后,接下來就該使用函數(shù)mysql_select_db選擇在哪個(gè)數(shù)據(jù)庫(kù)上執(zhí)行操作。信息交互前,為了防止中文亂碼,還要設(shè)置字符集,如mysql_query("set names gb2312")。為了增強(qiáng)代碼的重用性,PHP函數(shù)實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問的源代碼一般生成數(shù)據(jù)庫(kù)配置文件,通過include語(yǔ)言結(jié)構(gòu)完成PHP文件間的引用。
1.4.3 系統(tǒng)功能實(shí)現(xiàn)
因篇幅有限,下面僅以新聞公告管理模塊為例介紹信息的顯示、添加、刪除等操作的技術(shù)實(shí)現(xiàn)。
①顯示新聞公告。
該模塊是分頁(yè)顯示新聞公告的標(biāo)題、發(fā)布時(shí)間等,并對(duì)“查看新聞內(nèi)容”建立超鏈接。其分頁(yè)顯示技術(shù)實(shí)現(xiàn)如下:一是連接數(shù)據(jù)庫(kù),構(gòu)造倒序查詢的SQL語(yǔ)句,$sql=select news_id,news_title,news_type,news_time from newswire order by news_id desc。用函數(shù)mysql_query執(zhí)行SQL語(yǔ)句生成結(jié)果集,函數(shù)mysql_num_rows統(tǒng)計(jì)結(jié)果集總記錄數(shù)$total,設(shè)定每頁(yè)顯示的記錄數(shù)$pageSize。二是用GET方法獲取當(dāng)前頁(yè)數(shù)$_GET[page],運(yùn)用limit子句獲取每頁(yè)顯示的三條記錄,如果$_GET[page]大于零,則$sql=$sql." limit ".$pageSize*($_GET[page]-1).", ".$pageSize;否則$sql=$sql." limit 0, ".$pageSize,再次用函數(shù)mysql_query執(zhí)行SQL語(yǔ)生成結(jié)果集。三是運(yùn)用函數(shù)ceil($total/$pageSize)計(jì)算總頁(yè)數(shù)$totalPage。如果當(dāng)前頁(yè)$_GET[page]大于零小于總頁(yè)數(shù),則當(dāng)前頁(yè)為請(qǐng)求的頁(yè)數(shù)$currentPage=$_GET[page],否則$currentPage=1。四是如果$currentPage大于1則顯示首頁(yè)和上一頁(yè)。$first ="首頁(yè),$back="上一頁(yè);如果$currentPage小于$totalPage則顯示下一頁(yè)和尾頁(yè)。$next="下一頁(yè)",$last ="尾頁(yè)"。五是通過for循環(huán)顯示所有頁(yè)面的鏈接。六是通過while($row =mysql_fetch_array($result) )循環(huán)將數(shù)組中的值輸出,并對(duì)查看新聞內(nèi)容建立鏈接,查看新聞內(nèi)容。如果要查看新聞內(nèi)容,則鏈接到showContent.php,然后構(gòu)造SQL語(yǔ)句,select * from newswire where news_id=$_GET[id]",用函數(shù)mysql_query執(zhí)行SQL語(yǔ)句生成結(jié)果集,再運(yùn)用函數(shù)mysql_fetch_array把結(jié)果集賦給數(shù)組,最后輸出數(shù)組的值即新聞公告的標(biāo)題和內(nèi)容等。
②新聞公告添加。
新聞公告添加模塊使用表單構(gòu)造主要界面,界面中新聞公告內(nèi)容編輯使用FCKeditor在線編輯器,它功能強(qiáng)大、配置容易、跨瀏覽器、支持多種編程語(yǔ)言、開源。利用其提供的配置FCKeditor高級(jí)功能的簡(jiǎn)單接口fckconfig.js文件,可以輕松構(gòu)造一個(gè)充滿個(gè)性的在線編輯器。fckeditor_php5.php程序中定義了一個(gè)FCKeditor類,該類主要為PHP程序員提供了7個(gè)成員變量和3個(gè)成員方法。在PHP頁(yè)面中創(chuàng)建一個(gè)FCKeditor在線編輯器,首先載入FCKeditor類文件,然后創(chuàng)建一個(gè)FCKeditor實(shí)例,接著設(shè)置FCKeditor實(shí)例的根目錄以及FCKeditor實(shí)例其他成員變量的值,最后顯示在線編輯器的HTML代碼。新聞公告標(biāo)題和內(nèi)容編輯好以后,接著連接數(shù)據(jù)庫(kù),使用函數(shù)isset判定是否發(fā)布,然后構(gòu)造Insert語(yǔ)句,使用mysql_query函數(shù)執(zhí)行Insert語(yǔ)句,即可完成新聞公告的添加。
③刪除新聞公告。
在前面介紹對(duì)新聞公告分頁(yè)顯示的同時(shí),可以對(duì)每條公告建立刪除鏈接,鏈接參數(shù)是id=<?php echo ($row[news_id]);?>,鏈接文件是DelContent.php,在該文件中連接數(shù)據(jù)庫(kù),運(yùn)用get方法獲取news_id,構(gòu)造delete語(yǔ)句,news_id作為條件,使用函數(shù)mysql_query執(zhí)行delete語(yǔ)句即可刪除新聞公告。
2 結(jié)束語(yǔ)
本系統(tǒng)以實(shí)際的應(yīng)用需要為出發(fā)點(diǎn),使用PHP和MySQL相結(jié)合的開發(fā)技術(shù),功能實(shí)用。該系統(tǒng)即提高了招生工作效率,同時(shí)也為研究開發(fā)功能更加強(qiáng)大、更具個(gè)性的招生管理信息系統(tǒng)提供了技術(shù)基礎(chǔ)。
參考文獻(xiàn):
[1]李曉斌,周秀媛.單獨(dú)招生在線報(bào)名系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2015(05).
[2]呂太之,丁立.高職院校招生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2016(01).
[3]胡婧.基于PHP招生管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].天津職業(yè)院校聯(lián)合學(xué)報(bào),2014(05).