【文章內(nèi)容簡介】
s e a r c h . p h p搜索結(jié)果R e s e a r c h r . p h p主頁I n d e x . h t m l注冊Z c . h t m l登錄驗證C h e c k . p h p注冊驗證Z c . p h p登錄L o g i n . h t m l已登記物品Y d j . h t m l關(guān)注的物品G z d w p . h t m l留言板L y b . h t m l已購買物品Y g m w p . h t m l競拍平臺J p p t . h t m l關(guān)注物品G z . p h p參與競拍J p 1 . p h p競拍校驗J p 2 . p h p登記物品D j w p . h t m l登記驗證D j w p . p h p圖 36 系統(tǒng)的文件流程圖第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)13第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn) 實體關(guān)系圖 41:聯(lián)系地址會員昵稱真實姓名用戶名密碼注冊日期聯(lián)系電話余額郵箱地址圖 41 會員實體屬性圖 42:結(jié)束時間登記的物品當前價格物品數(shù)量物品編號用戶名物品名稱成交價格物品描述登記日期物品類別圖 42 登記的物品實體屬性圖 43:時間 留言內(nèi)容 留言編號昵稱電子郵箱圖 43 留言實體屬性圖第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)14 44:時間 出價信息所購數(shù)量 拍品編號出價用戶名圖 44 出價信息實體屬性圖 45:添加時間 關(guān)注的物品是否結(jié)束 記錄編號用戶名物品編號圖 45 關(guān)注的物品實體屬性圖 46:結(jié)束時間 已購買的物品當前價格 購買編號物品名稱成交價格物品描述圖 46 已購買物品實體屬性圖 47:第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)15時間 公告欄標題內(nèi)容公告編號圖 47 公告欄實體屬性圖 ER 圖如下圖 48:物 品 信 息 查 看普 通 用 戶發(fā) 表留 言 及 投 訴NM1NM注 冊N會 員1登 記物 品N1競 拍競 價 平 臺參 與N物 品11N發(fā) 表留 言 及 投 訴MN查 看購 買 物 品MN查 看 關(guān) 注 物 品MN查 看 出 價 信 息N查 看 公 告 欄MNM圖 48 整體 ER 圖 關(guān)系模型會員(用戶名,密碼,昵稱,真實姓名,聯(lián)系地址,聯(lián)系電話,郵箱地址,余額,注冊日期)注冊物品(物品編號,用戶名,物品名稱,物品描述,物品類別,登記日期,成交價格,物品數(shù)量,當前價格,結(jié)束時間)留言(內(nèi)容,留言編號,昵稱,電子郵箱,時間)出價信息(所購數(shù)量,物品編號,出價,用戶名,出價時間)第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)16關(guān)注物品(記錄編號,用戶名,物品編號,是否結(jié)束,添加時間)已購買物品(購買編號,買家,賣家,成交價格,交易時間,物品數(shù)量)公告欄(公告編號,標題,內(nèi)容,時間) 數(shù)據(jù)庫詳細設(shè)計表 41 會員表字段名 數(shù)據(jù)類型 長度 約束 描述userid varchar 10 主鍵 用戶名userpw varchar 10 不為空 密碼usernick varchar 10 不為空 昵稱username varchar 10 不為空 真實姓名usercd varchar 20 不為空 聯(lián)系地址userphone varchar 20 不為空 聯(lián)系電話userea varchar 20 不為空 郵箱地址userm int 10 余額userdate date 不為空 注冊日期表 42 注冊物品表字段名 數(shù)據(jù)類型 長度 約束 描述rid int 10 主鍵 物品編號ruserid varchar 10 不為空 用戶名rname varchar 10 不為空 物品名稱rdescribe varchar 30 不為空 物品描述rtype varchar 10 不為空 物品類型rsdate date 不為空 登記日期rprice int 10 不為空 成交價格rquantity int 10 不為空 物品數(shù)量rcprice int 10 不為空 當前價格redate date 不為空 結(jié)束時間表 43 留言表字段名 數(shù)據(jù)類型 長度 約束 描述mcontent varchar 30 不為空 內(nèi)容mid int 10 主鍵 留言編號mnick varchar 10 不為空 昵稱第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)17m varchar 20 不為空 電子郵箱mtime date 不為空 時間表 44 出價信息表字段名 數(shù)據(jù)類型 長度 約束 描述pquantity int 10 不為空 購買數(shù)量pid int 10 主鍵 物品編號pprice int 10 不為空 出價pname varchar 10 不為空 用戶名pdate date 不為空 出價時間表 45 關(guān)注物品表字段名 數(shù)據(jù)類型 長度 約束 描述aid int 10 主鍵 記錄編號aname varchar 10 不為空 用戶名apid int 10 不為空 物品aend varchar 10 不為空 是否結(jié)束atime date 不為空 添加時間表 46 購買物品表字段名 數(shù)據(jù)類型 長度 約束 描述alid int 10 主鍵 購買編號albuyerid int 10 不為空 買家alsellerid int 10 不為空 賣家alprice varchar 20 不為空 成交價格altime date 不為空 交易時間alquantity int 10 不為空 物品數(shù)量表 47 公告欄信息表字段名 數(shù)據(jù)類型 長度 約束 描述xid int 10 主鍵 公告編號xtitle varchar 50 不為空 標題xcontent varchar 50 不為空 內(nèi)容xtime date 不為空 時間 系統(tǒng)實現(xiàn)方案系統(tǒng)整體采用 PHP 語言開發(fā)程序及界面,采用 MySQL 作為后臺數(shù)據(jù)庫,第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)18Apache 作為服務(wù)器,通過 PHP 對 MySQL 的應(yīng)用程序接口對數(shù)據(jù)庫進行增加,刪除,修改等操作,進而實現(xiàn)對網(wǎng)上拍賣系統(tǒng)的管理,如圖 49。圖 49 系統(tǒng)實現(xiàn)方案 應(yīng)用程序詳細設(shè)計 會員登錄為實現(xiàn)會員登錄功能,需包含以下部分:會員信息表(member)、登錄界面()、會員登錄界面()、會員身份驗證()。用戶填寫用戶的登錄信息,包括用戶名、密碼,用戶輸入用戶名密碼登錄系統(tǒng),用戶名密碼如果為空會有提示不允許為空,會員身份驗證()查詢會員信息表(member)對用戶名密碼進行驗證,如果用戶名密碼通過則會重定向到會員登錄界面(),否則會重定向到登錄界面()。登錄界面主要用于填寫用戶的登錄信息,包括用戶名、密碼,用戶輸入用戶名密碼登錄系統(tǒng),用戶名密碼如果為空會有提示不允許為空,如果用戶名密碼驗證通過則進入到會員管理界面,可以選擇使用系統(tǒng)所有的功能。具體實現(xiàn)步驟如下:(1)用戶進入系統(tǒng)登錄界面( 界面) 如圖 410。(2)用戶在登錄界面輸入其用戶名和密碼,點擊登錄。(3)登錄鏈接到 ,根據(jù) MySQL 提供的 PHP API 操作數(shù)據(jù)庫,用 sql 語句驗證用戶名密碼是否與數(shù)據(jù)庫中的數(shù)據(jù)相同。(4)驗證成功會鏈接到會員界面( 界面),如果不成功則鏈接到登錄界面。第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)19圖 410 登錄界面核心代碼如下:$conn = mysql_connect(39。39。,39。root39。,39。root39。)。//連接數(shù)據(jù)庫mysql_select_db(39。web39。)。//選擇數(shù)據(jù)庫$sql=select userid,userpw from member where userid=39。$ui39。//根據(jù)用戶名提取相應(yīng)的數(shù)據(jù)$result=mysql_query($sql)。 $row=mysql_fetch_array($result)。if($ui==$row[39。userid39。]amp。amp。$upw==$row[39。userpw39。])//將獲取的數(shù)據(jù)與數(shù)據(jù)庫中的匹配{ header(location:)。}//匹配成功鏈接到 else {header(location:)。//不匹配鏈接到 會員注冊為實現(xiàn)會員注冊功能,需包含以下部分:會員信息表(member)、登錄界面()、注冊界面()、注冊驗證()。新用戶通過登錄界面()進入到注冊界面(),填寫用戶名、密碼等信息,點擊提交交給注冊驗證()進行驗證,驗證通過后插入會員信息表(member)里。注冊過后用戶可以憑注冊的用戶名密碼登錄系統(tǒng)。注冊界面可以注冊會員,用戶填寫表單后點擊提交,驗證數(shù)據(jù)無誤后會提交到數(shù)據(jù)庫,用戶可以憑用戶名密碼進入到系統(tǒng)中享受會員服務(wù),比如查看,競拍等等操作,而非會員則沒有權(quán)限。具體實現(xiàn)步驟如下:(1)用戶進入注冊界面( 界面) 如圖 411。第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)20(2)點擊提交,將數(shù)據(jù)提交到 ,根據(jù) MySQL 提供的 PHP API 操作數(shù)據(jù)庫,用sql 語句將信息插入到相關(guān)表中。若數(shù)據(jù)發(fā)生錯誤,則需返回到注冊界面修改數(shù)據(jù)重新提交。圖 411 注冊界面核心代碼如下:$conn = mysql_connect(39。39。,39。root39。,39。root39。)。//連接數(shù)據(jù)庫mysql_select_db(39。web39。)。//選擇數(shù)據(jù)庫$sql=insert into member (userid,userpw,usernick,username,usercd,userphone,userea,userdate) values (39。$userid39。,39。$userpw39。,39。$usernick39。,39。$username39。,39。$usercd39。,39。$userphone39。,39。$userea39。,39。$date39。)。 //用 sql 語句向數(shù)據(jù)庫插入用戶填寫的數(shù)據(jù)mysql_query($sql)or die(mysql_error())。if(mysql_affected_rows()0){ //判斷插入是否成功header(location:)。} //成功鏈接到 else {header(location:)。} //不成功返回注冊界面用戶注冊流程圖如圖 412:第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)21登錄界面登錄界面驗證注冊數(shù)據(jù)退出正確錯誤圖 412 注冊流程圖 物品登記 為實現(xiàn)物品登記功能,需包含以下部分:物品登記表(registration)、已登記物品()、登記物品()、登記物品校驗()。會員通過已登記物品()點擊登記物品進入到登記物品(),填寫物品的相關(guān)信息交由登記物品校驗()校驗,校驗通過后將物品信息插入到物品登記表(registration),物品信息交由已登記物品()顯示。已登記物品管理界面顯示的是已登記物品的信息??梢蕴砑踊蛘邉h除登記物品信息。增加物品的話會鏈接到新的表單提交物品的相應(yīng)信息,其他買家可以對其進行競拍等操作,如果有物品不想繼續(xù)進行交易則可以選擇刪除物品,相應(yīng)的物品信息會被刪除。具體實現(xiàn)步驟如下:(1)用戶進入已登記物品管理查詢界面( 界面) 如圖 413。(2)已登記物品管理查詢界面根據(jù) MySQL 提供的 PHP API 操作數(shù)據(jù)庫,用 sql 語句查詢已登記的物品信息顯示在界面。(3)點擊增加登記物品信息將會鏈接到 填寫新物品信息。 (4)刪除登記物品信息時,將信息提交給 , 根據(jù) MySQL 提供的 PHP API 操作數(shù)據(jù)庫,用 sql 語句對物品信息進行刪除操作。第 4 章 系統(tǒng)詳細設(shè)計與實現(xiàn)22圖 413 已登記物品管理界面核心代碼如下:$conn = mysql_connect(39。39。,39。root39。,39。root39。)。//連接數(shù)據(jù)庫mysql_select_db(39。web39。)。//選擇數(shù)據(jù)庫$sql=insert into member (userid,userpw,usernick,username,usercd,userphone,userea,userdate) values (39。$userid39。,39。$userpw39。,39。$usernick39。,39。$username39。,39。$usercd39。,39。$userphone39。,39。$userea39。,39。$date39。)。 //用 sql 語句向數(shù)據(jù)庫插入用戶填寫的數(shù)據(jù)mysql_query($sql)or die(mysql_error())。if(mysql_affected_rows()0){ //判斷插入是否成功header(location:)。} //成功鏈接到 else {header(location:)。} //不成功