生活随笔
收集整理的這篇文章主要介紹了
基于PHP的公共课考勤管理系统设计与实现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
第一章 概 述 5
第二章 系統(tǒng)的需求分析 10
2.1 系統(tǒng)需求分析 10
1.任務(wù)概述 10
2.功能需求 10
2.2 總體設(shè)計(jì) 11
1.本課題研究的內(nèi)容 11
2.此系統(tǒng)共分為六個(gè)較大的模塊: 11
表2 教師信息表(t_infor) 17
表3 學(xué)生簽到信息表(s_login) 17
表4 學(xué)生注冊(cè)信息表(s_signup) 18
表5 教師注冊(cè)信息表(t_signup) 18
表6 學(xué)生出勤統(tǒng)計(jì)表(Statistic) 18
表7 簽到控制表(t_control) 18
表8 替名簽到信息查看表(t_view) 19
第一, 選擇自己的身份,老師或者學(xué)生 22
第二, 登錄用戶名和登錄密碼為進(jìn)入系統(tǒng)的必添資料 23
第三, 如果沒(méi)有進(jìn)行注冊(cè),需在這里進(jìn)行注冊(cè) 23
(1) 學(xué)生用戶注冊(cè)(s_signup.php): 23
i. 用戶個(gè)人資料填寫(xiě)(s_signup.jsp) 24
ii. 注冊(cè)表單輸入(s_answer.php) 25
3 身份驗(yàn)證模塊 (一) 主要功能 26
(二)實(shí)現(xiàn)方式 26
(一)主要功能 28
(二)實(shí)現(xiàn)方式 28
第一, 要求輸入學(xué)生的學(xué)號(hào),這部分由標(biāo)準(zhǔn)的HTML代碼生成; 28
第二, 關(guān)鍵的語(yǔ)句在與取得數(shù)據(jù)庫(kù)信息,語(yǔ)句如下: 28
第一, 連接數(shù)據(jù)庫(kù),查找信息。如果有正確的信息顯示出來(lái) 28
第二, 把要顯示的信息輸入出來(lái) 28
(一)主要功能 29
(二)實(shí)現(xiàn)方式 29
第一, 連接數(shù)據(jù)庫(kù),查找信息。如果有正確的信息輸入進(jìn)去 29
第二,把要顯示的信息轉(zhuǎn)到s_infor.php頁(yè)面輸出來(lái) 29
(一)主要功能 29
(二) 實(shí)現(xiàn)方式 29
第一, 教師允許簽到 29
第二, 停止簽到 30
(一)主要功能 30
(二)實(shí)現(xiàn)方式 30
第一, 要統(tǒng)計(jì)的信息不能為空。 31
第二,顯示統(tǒng)計(jì)信息 31
第四章 測(cè) 試 32
4.1 模塊測(cè)試 32
4.1.1 測(cè)試方案 32
4.1.2 測(cè)試過(guò)程 32
4.1.3 測(cè)試結(jié)果 33
4.2 系統(tǒng)測(cè)試 33
4.2.1 測(cè)試方案 33
4.2.2 測(cè)試過(guò)程 33
4.2.3 測(cè)試結(jié)果 33
4.3 驗(yàn)收測(cè)試 34
4.3.1 測(cè)試方案 34
4.3.2 測(cè)試過(guò)程 34
4.3.3 測(cè)試結(jié)果 34
4.4 小結(jié) 34
第五章 結(jié)束語(yǔ) 35
5.1 系統(tǒng)改進(jìn)意見(jiàn) 35
5.2 設(shè)計(jì)心得 35
參考文獻(xiàn) 36
第二章 系統(tǒng)的需求分析
2.1 系統(tǒng)需求分析
需求分析的基本任務(wù)是準(zhǔn)確的回答“ 系統(tǒng)必須做什么?”這個(gè)問(wèn)題。在需求分析這個(gè)階段,需要仔細(xì)的研究系統(tǒng)所實(shí)現(xiàn)的功能,并進(jìn)一步將他們具體化。
1.任務(wù)概述
?目標(biāo)
將學(xué)生考勤、平時(shí)成績(jī)的評(píng)定、以及成績(jī)查詢的大量業(yè)務(wù),用計(jì)算機(jī)系統(tǒng)操作完成,對(duì)它進(jìn)行全面現(xiàn)代化管理,以便提高信息管理效率。
?運(yùn)行環(huán)境
軟件:Microsoft Windows 2000 Server及Windows 2000 SPI
或更高版本
IE5.5以上
硬件:64 MB RAM 鼠標(biāo)或其他定點(diǎn)設(shè)備
?系統(tǒng)要完成的任務(wù)
?實(shí)現(xiàn)學(xué)生安全登錄
?實(shí)現(xiàn)網(wǎng)上簽到
?通過(guò)技術(shù)手段,避免學(xué)生冒名簽到。
?統(tǒng)計(jì)學(xué)生平時(shí)成績(jī)。
?實(shí)現(xiàn)網(wǎng)上成績(jī)的查詢。
2.功能需求
系統(tǒng)必須完成的功能包括:
?注冊(cè)與登錄功能
該功能主要實(shí)現(xiàn)學(xué)生與老師的安全登錄。
?簽到功能
該功能主要實(shí)現(xiàn)學(xué)生上課網(wǎng)上簽到,以減少老師點(diǎn)名簽到的時(shí)間,提高上課效率。
?統(tǒng)計(jì)功能
系統(tǒng)中的統(tǒng)計(jì)功能可以根據(jù)學(xué)生簽到次數(shù),統(tǒng)計(jì)學(xué)生的平時(shí)成績(jī)。
?查詢功能
該功能從不同的角度進(jìn)行查詢,多層次地滿足老師及學(xué)生對(duì)總成績(jī)及個(gè)人成績(jī)的查詢要求。
2.2 總體設(shè)計(jì)
1.本課題研究的內(nèi)容
本論文從網(wǎng)站設(shè)計(jì)的基本原理出發(fā),使用php+mysql技術(shù),PHP是一個(gè)類似微軟ASP的服務(wù)器端的嵌入式超文本處理語(yǔ)言,是建立動(dòng)態(tài)網(wǎng)站的強(qiáng)大工具。MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。MySQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysql和很多不同的客戶程序和庫(kù)組成。由于其源碼的開(kāi)放性及穩(wěn)定性,且與網(wǎng)站流行編徎語(yǔ)言PHP的完美結(jié)合,現(xiàn)在很多站點(diǎn)都利用其當(dāng)作后端數(shù)據(jù)庫(kù),使其獲得了廣泛應(yīng)用。而MySQL是一個(gè)輕型SQL數(shù)據(jù)庫(kù)服務(wù)器,本文轉(zhuǎn)載自http://www.biyezuopin.vip/onews.asp?id=14586可運(yùn)行在多種平臺(tái)上,包括Windows NT和Linux,它還有一個(gè)GPL版本,MySQL被認(rèn)為是建立數(shù)據(jù)庫(kù)驅(qū)動(dòng)的動(dòng)態(tài)網(wǎng)站的最佳產(chǎn)品。PHP、MySQL和Apache是Linux平臺(tái)網(wǎng)站的最佳拍檔。
通過(guò)對(duì)公共課網(wǎng)上系統(tǒng)的分析、設(shè)計(jì)與具體實(shí)施,從而具體介紹了基于Internet/Intranet的網(wǎng)站應(yīng)用系統(tǒng)的分布式架構(gòu)模式及實(shí)現(xiàn)機(jī)理。最后采用了
PHP+MYSQL,設(shè)計(jì)并實(shí)現(xiàn)了公共課網(wǎng)上系統(tǒng)
系統(tǒng)設(shè)計(jì)模型
2.此系統(tǒng)共分為六個(gè)較大的模塊:
(一). 注冊(cè)模塊 (二). 身份驗(yàn)證模塊 (三).學(xué)生查詢模塊 (四)、學(xué)生簽到模塊 (五)、教師控制臺(tái)模塊 (六)、學(xué)生出勤統(tǒng)計(jì)模塊
<?php
require_once('Connections/conn.php'); ?>
<?php
if(!strcmp($radio
,"學(xué)生")){$loginFormAction
= $_SERVER
['PHP_SELF'];
if (isset($accesscheck
)) {$GLOBALS
['PrevUrl'] = $accesscheck
;session_register('PrevUrl');
}if (isset($_POST
['user'])) {$loginUsername
=$_POST
['user'];$password
=$_POST
['pasw'];$MM_fldUserAuthorization
= "";$MM_redirectLoginSuccess
= "ss_infor.php?s_zh=$user";$MM_redirectLoginFailed
= "st_fail.php";$MM_redirecttoReferrer
= false;mysql_select_db($database_conn
, $conn
);$LoginRS__query
=sprintf("SELECT s_zh, s_pasw FROM s_signup WHERE s_zh='%s' AND s_pasw='%s'",get_magic_quotes_gpc() ? $loginUsername
: addslashes($loginUsername
), get_magic_quotes_gpc() ? $password
: addslashes($password
)); $LoginRS
= mysql_query($LoginRS__query
, $conn
) or die(mysql_error());$loginFoundUser
= mysql_num_rows($LoginRS
);if ($loginFoundUser
) {$loginStrGroup
= "";$GLOBALS
['MM_Username'] = $loginUsername
;$GLOBALS
['MM_UserGroup'] = $loginStrGroup
; session_register("MM_Username");session_register("MM_UserGroup");if (isset($_SESSION
['PrevUrl']) && false) {$MM_redirectLoginSuccess
= $_SESSION
['PrevUrl']; }header("Location: " . $MM_redirectLoginSuccess
);}else {header("Location: ". $MM_redirectLoginFailed
);}
}}
else {
session_start();$loginFormAction
= $_SERVER
['PHP_SELF'];
if (isset($accesscheck
)) {$GLOBALS
['PrevUrl'] = $accesscheck
;session_register('PrevUrl');
}if (isset($_POST
['user'])) {$loginUsername
=$_POST
['user'];$password
=$_POST
['pasw'];$MM_fldUserAuthorization
= "";$MM_redirectLoginSuccess
= "t_infor.php";$MM_redirectLoginFailed
= "st_fail.php";$MM_redirecttoReferrer
= false;mysql_select_db($database_conn
, $conn
);$LoginRS__query
=sprintf("SELECT t_zh, t_pasw FROM t_signup WHERE t_zh='%s' AND t_pasw='%s'",get_magic_quotes_gpc() ? $loginUsername
: addslashes($loginUsername
), get_magic_quotes_gpc() ? $password
: addslashes($password
)); $LoginRS
= mysql_query($LoginRS__query
, $conn
) or die(mysql_error());$loginFoundUser
= mysql_num_rows($LoginRS
);if ($loginFoundUser
) {$loginStrGroup
= "";$GLOBALS
['MM_Username'] = $loginUsername
;$GLOBALS
['MM_UserGroup'] = $loginStrGroup
; session_register("MM_Username");session_register("MM_UserGroup");if (isset($_SESSION
['PrevUrl']) && false) {$MM_redirectLoginSuccess
= $_SESSION
['PrevUrl']; }header("Location: " . $MM_redirectLoginSuccess
);}else {header("Location: ". $MM_redirectLoginFailed
);}
}
}
if(!strcmp($Submit2
,"注冊(cè)")){
if(!strcmp($radio
,"學(xué)生"))
header("Location: s_signup.php" );
else
header("Location: t_signup.php" );
}
?>
<META HTTP
-EQUIV
="Content-Type" CONTENT
="text/html; charset=gb2312">
<link href
="style.css" rel
="stylesheet" type
="text/css">
<meta http
-equiv
="Content-Language" content
="en-us">
<HTML
>
<style type
="text/css">
<!--
.style1
{font
-size
: 18px
;font
-family
: "宋體";
}
body
{background
-image
: url();
}
-->
</style
>
<script language
="JavaScript" type
="text/JavaScript">
<!--function
MM_reloadPage(init
) { if (init
==true) with (navigator
) {if ((appName
=="Netscape")&&(parseInt(appVersion
)==4)) {document
.MM_pgW
=innerWidth
; document
.MM_pgH
=innerHeight
; onresize
=MM_reloadPage
; }}else if (innerWidth
!=document
.MM_pgW
|| innerHeight
!=document
.MM_pgH
) location
.reload();
}
MM_reloadPage(true);
</script
>
<HEAD
>
<meta http
-equiv
="Content-Language" content
="en-us"><TITLE
>教師
,學(xué)生登錄頁(yè)
</TITLE
>
<META HTTP
-EQUIV
="Content-Type" CONTENT
="text/html; charset=windows-1252">
<link href
="style.css" rel
="stylesheet" type
="text/css">
</HEAD
>
<BODY BGCOLOR
=#FFFFFF LEFTMARGIN
=0 TOPMARGIN
=0 MARGINWIDTH
=0 MARGINHEIGHT
=0>
<!-- ImageReady
Slices (layout
.psd
) -->
<!-- chinaz
.com
-->
<table width
="101%" height
="100%" border
="0" align
="center" cellpadding
="1" background
="images/index.gif"><tr
><td height
="179" colspan
="3" align
="center"> 
;</td
></tr
><tr valign
="top"><td height
="31" colspan
="3">
 
;  
; </td
></tr
><tr
><td width
="37%" height
="31" align
="right" valign
="top"><?$date
=getdate(time());printf("%d 年%d 月%d 日%d 時(shí)%d 分",$date
["year"],$date
["mon"],$date
["mday"],$date
["hours"],$date
["minutes"]);?><!-- End ImageReady Slices
--></td
><td width
="35%" align
="left" valign
="top"> <? if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) { $ip
= getenv( 'HTTP_X_FORWARDED_FOR' ); }else if ( getenv( 'HTTP_CLIENT_IP' ) ) { $ip
= getenv( 'HTTP_CLIENT_IP' ); }else { $ip
= getenv( 'REMOTE_ADDR' ); } print
"IP:".$ip
?></td
><td width
="28%" rowspan
="2" align
="center" valign
="middle"><TABLE width
="158" height
="30" border
=0 align
=center cellPadding
=1 borderColor
=#
808080 style
="BORDER-COLLAPSE: collapse"><TBODY
><TR
class=header
><TD width
="116" height
="21" align
=center
> 
;</TD
></TR
><TR height
=110><TD height
="64" align
=center vAlign
=top
><MARQUEE id
=newslist onmouseover
=newslist
.stop() onmouseout
=newslist
.start() scrollAmount
=1 scrollDelay
=80 direction
=up width
="90%" height
=100>計(jì)算機(jī)系簽到系統(tǒng)正在測(cè)試
!<BR
>請(qǐng)同學(xué)們不要注冊(cè)帳號(hào)
<BR
>謝謝同學(xué)們的支持與合作!!
</MARQUEE
></TD
></TR
></TBODY
></TABLE
></td
></tr
><tr
><td height
="164" align
="center" valign
="middle"> 
;</td
><td width
="35%" align
="left" valign
="middle"><table width
="289" height
="95" border
="0" align
="center" cellspacing
="1"><form action
="<?php echo $loginFormAction; ?>" method
="POST"><tr
><td
> 
;</td
><td colspan
="2" align
="left" valign
="middle"> 教師
<input name
="radio" type
="radio" value
="教師">學(xué)生
<input name
="radio" type
="radio" value
="學(xué)生" checked
></td
></tr
><tr
><td width
="57">&#
29992;&#
25143;&#
24080;&#
21495; :</td
><td colspan
="2" align
="left"><input name
="user" type
="text" size
="25"></td
></tr
><tr
><td height
="33">&#
29992;&#
25143;&#
23494;&#
30721; :</td
><td colspan
="2"><input name
="pasw" type
="password" id
="pasw" size
="27"></td
></tr
><tr
><td height
="23"> 
; </td
><td width
="64" align
="right"><input type
="submit" name
="Submit" value
="登錄"></td
><td width
="158"><input type
="submit" name
="Submit2" value
="注冊(cè)"></td
></tr
><? session_start(); session_name($user
); ?></form
></table
></td
></tr
><tr align
="center" valign
="bottom"><td height
="74" colspan
="3"><img src
="images/d07.gif" width
="686" height
="8"></td
></tr
>
</table
>
</BODY
>
</HTML
>
總結(jié)
以上是生活随笔為你收集整理的基于PHP的公共课考勤管理系统设计与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。