999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WampServer的學生網上選課系統設計與實現

2017-07-20 13:45:24李蕾
計算機時代 2017年7期

摘 要: 學生在線選課系統對于學校的決策者和管理者來說是至關重要的。針對選課系統的特點及其應用需求,采用基于WampServer的集成開發環境,開發出一套集數據查詢、數據交換和數據維護等功能的網上模擬選課系統。

關鍵詞: B/S結構; 選課系統; PHP技術; 動態web應用; WampServer

中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2017)07-93-05

Design and implementation of student online course selection system based on WampServer

Li Lei

(Zhejiang Changzheng Vocational and Technical College, Department of Computer and Information Technology, Hangzhou, Zhejiang 310023, China)

Abstract: Student online course selection system is critical for school decision makers and managers. In view of the characteristics and application requirements of the course selection system, an online simulation course selection system based on WampServer is developed, which includes the functions of data inquiry, data exchange and data maintenance.

Key words: B/S structure; course selection system; PHP technology; dynamic web application; WampServer

0 引言

分布式辦公和移動辦公越來越普及,學生選課系統的網絡化、信息化、人性化及科學化已經普及到各個高校的教務教學管理模式里。WampServer是一款集Apach服務器、PHP解釋器和MySQL數據庫的整合軟件包,這款集成環境軟件非常適合初學者使用。本文對使用AMP(Apache+MySQL+PHP)架構出的基于wampServer的學生網上選課模擬系統進行設計和實現。

1 PHP的運行機制及原理

1.1 PHP的核心架構

系統采用windows7作為開發平臺,WampServer服務器是Apache作為Web服務器,MYSQL作為后臺數據庫,用PHP這種開源腳本語言實現后臺數據庫與服務器的連接。PHP總共有三個模塊:內核、Zend引擎、擴展層。其核心架構圖1所示。

[Application

(apache, thttpd, cli, etc.)][SAPI

(see Chap 23)][

][PHP API

(streams, output, etc.)

(see Chap 22)][PHP\&][Extensions

(mysql, standard library, etc.)

(see Chap 22)][Zend Extension API

(see Chap 23)][Zend API\&][Zend Engine\&] [Modular Code]

圖1 PHP四層核心架構

從圖1可以看出PHP從下到上是一個4層體系:Zend引擎、Extensions、Sapi、上層應用。其中Zend引擎是PHP的核心;一些內置函數、標準庫等都是通過extension來實現的;Sapi是服務端應用編程接口,它可以通過一系列鉤子函數,使PHP可以和外圍交互數據;上層應用就是編寫的PHP程序。其實PHP的4層體系可以形象的理解為PHP是一輛車,那么車的框架就是PHP本身,Zend是車的引擎(發動機),Ext下面的各種組件就是車的輪子,Sapi可以看做是公路,車可以跑在不同類型的公路上,而一次PHP程序的執行就是汽車跑在公路上。因此,我們需要:性能優異的引擎+合適的車輪+正確的跑道。

1.2 PHP的執行流程

PHP實現了一個典型的動態語言執行過程:一段代碼先經過詞法解析、語法解析等階段后,源程序會被翻譯成一個個指令(opcodes),然后ZEND虛擬機順次執行這些指令完成操作。PHP本身是用C實現的,因此最終調用的也都是C的函數,實際上,PHP可看做是一個C開發的軟件,其執行流程如圖2所示。

PHP的執行的核心是翻譯出來的一條一條指令,也即Opcode。Opcode是PHP程序執行的最基本單位。一個opcode由兩個參數(op1,op2)、返回值和處理函數組成。PHP程序最終被翻譯為一組opcode處理函數的順序執行。

2 學生網上選課系統架構

“學生網上選課系統”是建立在B/S結構的動態Web應用。其功能從用戶角度分兩個層面。

⑴ 學生:通過客戶端瀏覽器登錄到系統,瀏覽課程、查詢課程和查看課程的詳細信息,并按志愿順序預選自己想要選修的課程,也可顯示自己已經預選的課程。

⑵ 教學秘書:通過客戶端瀏覽器登錄到系統,對課程進行管理(添加課程、修改課程、刪除課程、查詢課程)、瀏覽課程和查看課程的詳細信息等[2]。除此之外,還需按照學校的規模和條件,以及學生集中選課的時間,選定服務器、相應的軟硬件和網絡設施。

本系統是建立在教務部門對系統的描述和需求上的開發,針對系統的需求功能描述,學生/教師必須經過登錄才能使用系統,其系統功能模塊圖如圖3所示。

3 學生網上選課系統功能設計

3.1 數據庫設計

數據庫是按數據結構來組織、存儲和管理數據的倉庫。對于一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。在分層DFD中,數據存儲一般僅屬于某一層或某幾層。利用數據庫流圖DFD,來建立學生網上選課系統需求的過程模型,它的每一層次都代表了系統的一個抽象水平。本文只列出學生網上選課系統數據流圖一層分解圖,即管理登錄如圖4所示,在登陸管理進行判斷后,發送學生/教師登陸信息的其中一種。根據用戶身份信息的不同,進入不同的管理界面,相應的操作功能及權限都有所不同。

3.2 用戶界面設計

學生網上選課系統功能的實現往往必須借助頁面來實現,這里所說的頁面是廣義的頁面,把運行在服務器端的程序處理文件也包含在內。實現客戶向服務器提交請求,服務器向用戶提供一個頁面A,用戶對此頁面處理后,提交給服務器;服務器收到提交的數據后,調用程序處理文件B,再把服務器執行的結果以網頁C的形式顯現在客戶面前。這個過程就可以用“頁面A→頁面B→頁面C”的方式進行描述。

在功能模塊內部,首頁登錄頁面文件之間的設計關系如圖5所示,同時也方便程序員按照系統和模塊設計去實現各個模塊的代碼[3]。

4 學生網上選課系統關鍵技術

4.1 登錄驗證碼技術

在開發學生網上選課系統的時候,應當考慮到系統的安全性,為了防止非法用戶采取窮舉法在線攻擊,應當在登錄模塊中采用驗證碼手段。該模塊主要設計思想:用圖片格式顯示隨機碼[4],即在服務端通過程序帶有干擾因素的圖片;在服務器端準備好幾張背景圖片,這些圖片的格式、顏色、花紋等干擾方式各不相同,每次隨機抽取其中一幅作為背景,這樣就加大了通過工具來解讀圖片上字符的難度,在一定程度上提高安全性。本系統利用圖像函數產生一個4位隨機數的圖像驗證碼,其程序實現代碼如下:

<?php

for($i=0;$i<4;$i++) {

$num.=rand(0,9); } //生成一個4位隨機數

$im=imagecreate(100,30); //創建一個100*30的圖像

$blue=ImageColorAllocate($im,0,0,255); //圖像的背景色

$white=ImageColorAllocate($im,255,255,255);

//此顏色用于插入文字的顏色

imagestring($im,5,30,6,$num,$white);

//將4位隨機數寫入圖像中

header('content-type:image/gif'); //設定輸出圖像文件類型

imagegif($im); //輸出圖像?>

4.2 數據庫連接技術

PHP內置了大量操作MYSQL數據庫的函數來與其交互。在訪問數據庫之前首先需要與服務器建立連接。在一個數據庫服務器中通常有多個數據庫,在連接成功后,帶需要選擇數據庫,之后就可以數據庫中的數據進行增加、刪除、修改、查詢等操作了。本系統所創立的數據庫db_xsxk的服務器連接的代碼如下:

<?php

$DB_HOST="localhost"; //本地服務器

$DB_LOGIN="root"; //MYSQL登錄賬戶

$DB_PASSWORD=""; ////MYSQL登錄密碼

$DB_NAME=" db_xsxk"; //連接的數據庫名稱

$conn=mysql_connect($DB_HOST, $DB_LOGIN,

$DB_PASSWORD); //建立和數據庫服務器連接

mysql_select_db($DB_NAME); //選擇數據庫

mysql_query("SET NAMES UTF8"); //設定數據庫編碼

?>

5 學生網上選課系統功能實現

為展示學生網上選課系統學生端和教師端的典型操作和編程范例,我們選擇頁面布局、學生/教師登錄驗證、學生端和教師端等四個典型操作來說明。

5.1 頁面布局設計

在學生網上選課系統頁面樣式制作時采用CSS技術,可以有效地對頁面的布局、字體、顏色、背景和其他效果實現更加精確的控制,可以使html文件內碼更精簡,樣式通常保存在外部的.css文件中,并且只需修正一個CSS文件,便可同時更新眾多的網頁版面外觀及格式,主流瀏覽器均支持層疊樣式表。學生網上選課系統的版面布局采用“T”形結構布局,下方左面為主菜單,右面顯示內容的布局,頁面結構清晰,主次分明,是最容易上手的布局方法,其運行效果如圖6所示。

body {

margin:0 auto; width:1024px; font:12px/1.6 "宋體";

color:#000000; }

#left {

width:200px;float:left; margin-left:120px;margin-top:10px;padding-bottom:35px;margin-bottom:10px; }

#left h3 {

background-color:#628e37;text-align:center;color:#000000; }

#left ul li {

background:url(images/houtai3.gif) bottom no-repeat;

width:150px; margin:5px 10px 0px 30px; font-weight:

bold;color: #000000; }

#footer {

clear:both; width:900px;text-align:center;margin-top:

20px;height:40px;padding-top:8px;

margin-left:120px; }

5.2 學生/教師登錄驗證

學生/教師端登錄過程主要涉及到驗證和跳轉。驗證過程是輸入學生/教師的賬戶和密碼傳入底層數據庫,由WampServer服務器自動去mysql數據庫中進行身份驗證。依據不同的驗證結果,轉入不同的功能頁面。典型的用戶登錄和驗證代碼:

$role=$_POST[role]; //從服務器中采集到的登錄身份

$username=$_POST[username];

//從服務器中采集到的登錄賬戶

$userpwd=$_POST[userpwd];

//從服務器中采集到的登錄密碼

if ($role=="teacher") {

$ChkLogin="SELECT*FROM teacher WHERE TeaNo

='$username' and Pwd='$userpwd'"; //執行身份驗證

} else {

$ChkLogin="SELECT*FROM student WHERE StuNo

='$username' and Pwd='$userpwd'"; //執行身份驗證

}

//如果驗證通過,進入各自不同的角色功能頁面:

if ($role=="teacher") {

header("Location:tea/ShowCourse.php");

} else {

header("Location:stu/ShowCourse.php");

}

5.3 學生端主界面設計

學生登錄該系統后,就可以進入學生瀏覽課程的主頁面。該頁面中提供了查詢可選課程、瀏覽已選課程、退出系統的鏈接。學生可以點擊課程編碼鏈接查看課程細節并完成選課,也可以根據查詢條件,對系部已經開設的可選課程進行查詢并選課。選課頁面設定了學生可選課程的最高數量,當超過選課數量,提示退出或刪除課程后重新選課。

<?php

$StuNo=$_POST[StuNo];

$ShowDetail_sql="SELECT*FROM stucou WHERE

StuNo='$StuNo'";

$ShowDetailResult=db_query($ShowDetail_sql);

if(db_num_rows($ShowDetailResult)<3) {

$insertCourse="insert into stucou(StuNo, CouNo,

WillOrder, State)VALUES('$StuNo','$CouNo',

$WillOrder,'報名')";

$insertCourse_Result=db_query($insertCourse);

if($insertCourse_Result) {

echo"選擇課程成功"; }

else { echo"選擇課程失敗,請重新選擇\"; }

} else { echo"最多可選三門,已經超限,請先刪除已選課程

再選擇"; }

?>

5.4 教師端主界面設計

教師管理課程主頁面將所有課程信息通過表格分頁顯示出來,通過點擊課程編碼鏈接可以查看課程細節,通過點擊“修改”或“刪除”鏈接,可以實現對本系教學秘書開課信息修改或刪除(自動刪除對應的課程圖片)操作,同時該頁面提供了查詢本系部開設的課程信息,實現自動獲取課程編號添加課程信息的功能。

$CouNo=strval(intval($row['CouNo'])+1);

5.5 結果與分析

本系統軟件開發環境:Window7、WampServer的集成開發環境(Apache+MySql+PHP)、IE瀏覽器/谷歌瀏覽器;系統對硬件環境沒有特殊的要求。本系統作為我院PHP動態網站設計課程的創新創業實踐教學項目,經過一段時間的試運行,總結如下:

⑴ 本系統只需通過PC客戶端的瀏覽器運行,采用B/S模式,解決了跨平臺運行的問題;

⑵ 本系統主界面設計人機交互友好,整潔,給人一目了然的感覺;

⑶ 本系統功能實現完善,學生端選課模塊設計更加人性化,提供了搜索可選課程的功能,可以查看課程的基本信息,教務部門設定學生的選課數量;

⑷ 系統內的鏈接實現相應的功能。

雖然系統運行效果良好,但從可利用性角度看,還需增加“教務部門”的權限和功能,對學生端的選課情況和教師端開課信息進行綜合性管理。

6 結束語

本文討論了基于WampServer的學生網上選課系統開發,給出了學生網上選課系統的結構圖,介紹了PHP的核心框架和程序執行流程,并給出了典型的編程案例。學生網上選課系統教師端和學生管理功能完善,并且提供了核心源碼供開發者使用,基本滿足類似Web系統開發的需求。此外,本文研究的學生選課系統作為我院學生創新創業實踐共享項目運用于PHP動態網站設計課程的教學活動中。實踐表明,該系統基本滿足設計需求,并取得了良好的教學效果。

參考文獻(References):

[1] 李蕾.基于VDI技術的開放式教學平臺搭建研究[J].現代商

貿工業,2014.26(15):170-173

[2] 李蕾.高校編程類課程云端仿真實驗教學平臺創新設計與應

用研究[J].軟件導,2016.15(8):210-212

[3] 劉秋菊.Web編程技術—PHP+MQL動態網頁設計[M].北京

師范大學出版社,2015.

[4] 王彥輝.PHP+MySQL動態網頁技術教程[M].東軟電子出版

社,2013.

[5] 數通暢聯.PHP的運行機制與原理(底層)[EB/OL]. http://

www.jb51.net/article/74907.htm.

主站蜘蛛池模板: 午夜一区二区三区| 国产v精品成人免费视频71pao | 亚洲色图综合在线| 91免费国产高清观看| 在线观看国产一区二区三区99| 亚洲一区二区无码视频| 亚洲福利一区二区三区| 国产99视频免费精品是看6| 高潮爽到爆的喷水女主播视频| 久久精品人妻中文系列| 亚洲全网成人资源在线观看| 国产精品冒白浆免费视频| 国产人人射| 福利在线不卡一区| 国产成人高清精品免费| 欧洲熟妇精品视频| 国产欧美日韩视频怡春院| 怡红院美国分院一区二区| 欧美国产在线一区| 亚洲精品高清视频| 国产精品999在线| 无码人妻热线精品视频| 国产日本欧美亚洲精品视| 欧美精品不卡| 99热这里只有精品在线观看| av大片在线无码免费| 国产成人精品18| 456亚洲人成高清在线| 国产精品久久久精品三级| 成人无码一区二区三区视频在线观看| 国产网友愉拍精品视频| 999国内精品久久免费视频| 亚洲另类第一页| 91在线日韩在线播放| 亚洲精品国产乱码不卡| 99999久久久久久亚洲| 国产在线一区视频| 操操操综合网| 欧美午夜一区| 国产精品久久自在自线观看| 女人爽到高潮免费视频大全| 久久大香香蕉国产免费网站| 久久久久无码国产精品不卡| 青青草综合网| www亚洲天堂| 中文字幕 欧美日韩| 欧美中文字幕在线二区| 久久www视频| 中文字幕亚洲专区第19页| 国产一二视频| 国产美女主播一级成人毛片| 伊人无码视屏| 国产高清不卡视频| 宅男噜噜噜66国产在线观看| 欧美一道本| 国产精品99r8在线观看| 欧美一道本| 亚洲精品桃花岛av在线| 黑色丝袜高跟国产在线91| 色哟哟国产精品一区二区| 成人午夜视频在线| 久久男人视频| 亚洲美女一区| 国产日韩欧美视频| 99精品久久精品| 欧美国产日韩另类| 中文字幕免费播放| 免费一级成人毛片| 亚洲国产精品日韩av专区| 免费一级成人毛片| 粗大猛烈进出高潮视频无码| 毛片免费在线| 少妇露出福利视频| 亚洲AV电影不卡在线观看| 久久国产精品77777| 欧美精品v欧洲精品| 波多野结衣第一页| 国产成人三级| 亚洲色图欧美| 欧美.成人.综合在线| 无码啪啪精品天堂浪潮av| 999精品在线视频|