楊 璐,李隱峰,閆 蕾
(西安電子科技大學(xué)電子工程學(xué)院,陜西西安 710071)
網(wǎng)上作業(yè)提交系統(tǒng)是利用計(jì)算機(jī)技術(shù)采用網(wǎng)上作業(yè)管理,實(shí)現(xiàn)作業(yè)無紙化在線上傳下載及批閱,集中發(fā)布教學(xué)信息、多條件組合查詢學(xué)生及作業(yè)信息,并規(guī)范作業(yè)的提交與審核,有效提高了教學(xué)工作效率[1]。
B/S(Browser/Server)即瀏覽器和服務(wù)器結(jié)構(gòu)。B/S結(jié)構(gòu)中的客戶端是通過在瀏覽器的地址欄中輸入U(xiǎn)RL來訪問Web服務(wù)器,然后Web服務(wù)器根據(jù)客戶的請(qǐng)求,將獲得結(jié)果以HTML等形式返回給客戶端瀏覽器。常用客戶端瀏覽器的種類有:Internet Explorer、Firefox、Chrome、Safari、Opera[2]。
腳本語言是為縮短傳統(tǒng)的編寫-編譯-鏈接-運(yùn)行過程而創(chuàng)建的計(jì)算機(jī)編程語言。通常是解釋運(yùn)行而非編譯。系統(tǒng)所用的客戶端腳本語言是JavaScript,服務(wù)器端腳本語言是PHP。
系統(tǒng)用到的數(shù)據(jù)庫管理軟件是關(guān)系式數(shù)據(jù)庫MySQL,其是一個(gè)多用戶多線程的SQL數(shù)據(jù)庫服務(wù)器。
基于HTTP協(xié)議的B/S模式信息交互分為4個(gè)過程:建立連接、發(fā)送請(qǐng)求信息、發(fā)送相應(yīng)信息和關(guān)閉連接。在會(huì)話開始后,瀏覽器或服務(wù)器可隨時(shí)中斷連接[3],如圖 1 所示。

圖1 客戶端請(qǐng)求服務(wù)器過程
操作系統(tǒng):Microsoft Windows Server 2003 Service Pack 2。開發(fā)平臺(tái):IIS+PHP+MySQL。頁面開發(fā)工具:Zend Studio、Adobe Dreamweaver、Notepad++ 。
系統(tǒng)主要功能如圖2所示。

圖2 系統(tǒng)主要功能
(1)注冊(cè)登錄模塊。學(xué)生通過填寫姓名、學(xué)號(hào)等信息進(jìn)行注冊(cè)。注冊(cè)后通過學(xué)號(hào)及登陸密碼進(jìn)行登錄。教師在后臺(tái)直接登錄系統(tǒng)。
(2)作業(yè)填寫上傳模塊。學(xué)生上傳下載作業(yè),填寫備注說明,查看作業(yè)是否被教師閱讀審核通過等情況。上傳作業(yè)只限doc或docx格式,且大小不超過20 MB,否則系統(tǒng)均會(huì)給予出錯(cuò)提示。系統(tǒng)根據(jù)學(xué)生的學(xué)號(hào)判斷是否重復(fù)提交,并對(duì)重復(fù)提交出現(xiàn)提示框,如學(xué)生確認(rèn)繼續(xù)提交,則最新一次提交數(shù)據(jù)會(huì)覆蓋之前的數(shù)據(jù)。
(3)作業(yè)管理模塊。教師從作業(yè)列表中根據(jù)提交作業(yè)的學(xué)生姓名、學(xué)號(hào)、班級(jí)等多個(gè)條件組合查詢、批閱審核、下載作業(yè)。將作業(yè)列表導(dǎo)出為Excel表格。
(4)學(xué)生管理模塊。教師根據(jù)學(xué)生作業(yè)提交情況、學(xué)生班級(jí)學(xué)號(hào)等信息多條件組合查詢學(xué)生,將學(xué)生列表導(dǎo)出。
(5)首頁信息管理模塊。系統(tǒng)的首頁可供教師發(fā)布教學(xué)信息,信息按時(shí)間順序,顯示標(biāo)題、發(fā)布時(shí)間、點(diǎn)擊數(shù)等。
(6)留言管理模塊。學(xué)生留言后需教師審核通過后方可發(fā)布,教師可對(duì)學(xué)生留言進(jìn)行查看、回復(fù)、審核等操作。
系統(tǒng)所需數(shù)據(jù)庫表共4個(gè),分別為:
(1)普通用戶信息表(t_student),用于存儲(chǔ)普通用戶的注冊(cè)信息。
(2)系統(tǒng)管理員信息表(t_teacher),存儲(chǔ)管理員的注冊(cè)信息。
(3)學(xué)生作業(yè)表(t_student_work),存儲(chǔ)學(xué)生在線上傳作業(yè),填寫相關(guān)表格等相關(guān)的數(shù)據(jù)信息。
(4)學(xué)生班級(jí)類別表(t_studentclass),存儲(chǔ)學(xué)生班級(jí)信息。


(1)為顯示項(xiàng)目開發(fā)過程中的錯(cuò)誤提示,需要開發(fā)PHP.ini文件的 display_atartup_errors和 display_errors項(xiàng),或在本站的application.ini文件中加入配置。
需注意項(xiàng)目投入使用后,將上述兩項(xiàng)的值設(shè)為0,這樣在運(yùn)行過程中避免在頁面打印出錯(cuò)誤信息,從而防止網(wǎng)站的漏洞被非法用戶發(fā)現(xiàn),進(jìn)而有效的提高網(wǎng)站的安全性[4]。
(2)多張數(shù)據(jù)表之間的多條件組合查詢。進(jìn)行多條件組合查詢時(shí),系統(tǒng)使用了字符串拼接技術(shù),查詢條件篩選框里在用戶未填寫的情況下默認(rèn)值是“全部”,此時(shí)不將該條件拼接到SQL語句中。當(dāng)系統(tǒng)檢測(cè)到用戶提交該篩選條件時(shí),將用戶提交的條件拼接加入SQL語句中,最后整體執(zhí)行拼接后的SQL語句。
(3)分頁顯示信息。對(duì)信息的分頁顯示,主要是使用MySQL中的Limit關(guān)鍵字。設(shè)計(jì)思想:從數(shù)據(jù)庫中讀取數(shù)據(jù),獲取數(shù)據(jù)總量,根據(jù)數(shù)據(jù)總量和每頁顯示的數(shù)據(jù)條數(shù)對(duì)數(shù)據(jù)進(jìn)行分頁數(shù)理,計(jì)算出頁數(shù)和當(dāng)前顯示的頁碼。實(shí)現(xiàn)首頁、上一頁、下一頁和尾頁之間的頁面跳轉(zhuǎn)。
(4)用戶身份認(rèn)證。HTTP協(xié)議無法在兩個(gè)不同的請(qǐng)求之間共享信息,如無法記錄當(dāng)前訪問者的用戶名密碼等信息,該系統(tǒng)使用Session解決這一問題。首先初始化Session,應(yīng)用$_SESSION全局?jǐn)?shù)組保存Session變量,再獲取傳遞的數(shù)據(jù)[5]。
(5)解決Ajax的亂碼問題。是因?yàn)镻HP在傳遞數(shù)據(jù)時(shí)使用的編碼默認(rèn)為UTF-8,這就造成了非英文字符不能正確傳遞的情況。
基于Web的電子作業(yè)提交系統(tǒng)使傳統(tǒng)教學(xué)工作發(fā)生變化,加強(qiáng)了師生之間的信息交流,提升了教學(xué)工作效率。該系統(tǒng)目前已實(shí)際應(yīng)用到《Internet應(yīng)用》課程的電子版作業(yè)提交中,效果良好。
[1] 崔蕊.基于PHP的網(wǎng)上作業(yè)管理系統(tǒng)[J].電腦知識(shí)與技術(shù),2009,5(20):5353 -5354.
[2] 趙非.客戶器/服務(wù)器與瀏覽器/服務(wù)器結(jié)合實(shí)現(xiàn)中小型企業(yè)信息管理的研究[D].武漢:武漢水利電力大學(xué),1999.
[3] 王旭華.基于B/S結(jié)構(gòu)的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:同濟(jì)大學(xué),2007.
[4] 劉健.基于PHP的教師博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].青島:中國(guó)海洋大學(xué),2008.
[5] Michael Adeyeye.A SIP - based web client for HTTP session mobility and multimedia services[J].Computer Communications,2010,33(8):36 -40.