PHP案例會員管理設計設計方案(20210312204801)_第1頁
PHP案例會員管理設計設計方案(20210312204801)_第2頁
PHP案例會員管理設計設計方案(20210312204801)_第3頁
PHP案例會員管理設計設計方案(20210312204801)_第4頁
PHP案例會員管理設計設計方案(20210312204801)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、案例會員管理設計圖2概述會員管理的網頁功能在現今網站構建上相當的重要,尤其是對于一些需要 付費來取得會員認證的公司和個人網站。為了避免誤闖的用戶及有心的黑客,會 員認證及管理的方式的確有其存在的必要。 因此,設計一個縝密的會員管理網頁, 也是我們學習PHP的一個重點。系統(tǒng)面向三種用戶,一是新用戶,需要注冊才能成為會員;二是會員用戶, 可能需要修改資料和找回遺忘的密碼;三是管理員用戶,承擔對會員資料的維護 和更新。系統(tǒng)架構首先要有個存放會員資料的數據庫。根據用戶的角色來設定系統(tǒng)的主要功能1 注冊為新會員。2找回遺忘的密碼。3 會員修改資料。4. 普通會員專區(qū)。5管理員對會員資料的管理。請求URL

2、用戶工作流程圖如圖1所示:Web服務器會員管 理頁面XI _注冊為 新會員普通會員管理管理員頁面寫入提取寫入會員信息數據庫服務器提取和寫入用戶信息說明:1 用戶向服務器發(fā)出訪問請求;2 服務器提供的會員管理頁面是以菜單方式提供用戶選擇;3新用戶注冊新會員,提供輸入信息的表單并要求用戶輸入相關信息,寫入數 據庫;4.普通會員能登錄到會員專區(qū),通過用戶ID和密碼驗證身份進入專區(qū);通過電 子郵箱和住址來提取忘記的密碼;或通過用戶ID和密碼驗證身份進入修改個 人資料頁面;5管理員作為網站的站長,也是通過用戶 ID和密碼驗證身份進入其管理界面, 瀏覽會員資料和刪除會員資料。三、系統(tǒng)設計1 邏輯結構設計根

3、據對系統(tǒng)架構的描述,可得系統(tǒng)的邏輯結構,如圖 2所示。主頁面.main .phpTop:系統(tǒng)標題title.html:規(guī)劃窗口結構Left :菜單Right:顯示select.html新會員注冊n ewuser.html表單:新用戶輸入資料存儲數據savedata.phpI驗證身份|會員區(qū)member.php查詢密碼search.php驗證身份|修改modify.php驗證身份|管理mamager.php寫入數據庫 回顯提示信息讀取數據庫 回顯提示信息讀取數據庫 回顯提示信息讀取數據庫 回顯表單信息讀取數據庫 回顯提示信息更新數據更新數據忘記密碼:forget.php表單:身份驗證會員登錄:l

4、ogi n.php表單:身份驗證會員登錄:logi n.php表單:身份驗證站長登錄:logi n.php表單:身份驗證注冊為新會員:n ewuser.htm表單:用戶資料update.php_寫入數據庫回顯提示信息delete.php_讀寫數據庫回顯提示信息2 數據庫設計在MySQL數據庫服務器上建立名為 member數據,其中包含一個數據庫表 member,各字段的定義和說明如下表:字段類型NULL說明備注idchar(20)否用戶登錄idemailchar(40)否用戶電子郵件網址addresschar(60)用戶住址passwordchar(20)否登錄密碼sexchar(2)是性別i

5、dxin t(11)否用戶序列號auto i ncreme nt注:通過phpMyadmin建立,在MySQL的data文件夾中會自動創(chuàng)建一詞數據庫為名的文件夾,包含相關數據。本案例用到的SQL命令如下表命令格式含義SELECT * FROM member WHERE 條件表達式查詢(讀?。祿淼挠涗汭NSERT INTO member (字段組,)VALUE (對應值,)向數據表的表尾追加記錄UPDATE member SET 字段=值,WHERE 條件表達式更新數據表的記錄DELETE FROM member WHERE 條件表達式刪除數據表的記錄ALTER TABLE member D

6、ROP 字段名刪除數據表的字段ALTER TABLE member ADD 字段名 數據類型創(chuàng)建數據表的字段3 界面設計主頁面: main.php規(guī)劃窗口界面標題行(title) - title.html菜單(select)-select.html顯示(show)-newuser.html 等標題頁:title.html顯示系統(tǒng)的標題信息。菜單頁:select.html包含五個超級鏈接的文本。分別是:登錄為新會員、會員專區(qū)、忘記密碼、修改數據、站長管理新會員注冊:newuser.html包含以下表單,用表格組織如下所示存儲數據:savedata.php顯示成功注冊的信息標題行用戶id文本框(2

7、0)性別男女單選框Email文本框(40)住址文本框(60)輸入密碼密碼框(10)*重新確認密碼框(10)*送出資料(submit )清除重寫(reset)會員注冊:logi n. php包含以下表單,用表格組織標題行輸入id文本框(20)輸入密碼密碼框(10)*登錄(submit)重新輸入(reset)忘記密碼:forget.php包含以下表單,用表格組織標題行輸入Email文本框(40)輸入地址文本框(60)查詢(submit)重新輸入(reset)會員修改數據:modify.php讀取會員信息回顯在表單中,等待會員修改其中的數據標題行用戶id文本框(20)性別男女單選框Email文本框(

8、40)住址文本框(60)輸入密碼密碼框(10) *重新確認密碼框(10) *修改(submit)站長管理:mamager.php讀取會員信息回顯在表格中,等待站長修改,同時上方有導航條導航條編號姓名Email賬號住址密碼性別復選框N0編號用戶IDEmail確定刪除(submit)重新選取(reset)四、編碼實現1. 主頁面1) main.php這是會員管理網頁的框架,使用HTML的框架標記,把頁面劃分為品型結構。主要理解HTML的框架標記的用法。 會員管理 !- FRAMESET-FRAME n ame=show src=n ewuser.htm這一頁用框架,但您的瀏覽器不支持他們!-mai

9、 n.php -2) title.html這只是顯示會員管理網頁的標題。位于框頁的上部。 會員管理網頁 -title.html -3) select.html這是會員管理的導航菜單,通過超級鏈接,與各個功能頁面鏈接。位于框頁的下左部對會員和站長登錄時,根據不同的編號確定登錄后所要執(zhí)行的程序來完成主要理解HTML的超鏈接標記的用法,尤其是含傳送參數的情況 A HRef= newuser.htm登錄新會員 會員專區(qū) 忘記密碼 修改資料 站長管理 -select.html -4) newuser.html這是框頁的下右部。主要是顯示超鏈接的頁面。初始頁面是新會員注冊頁 面。通過表單收集會員的資料。為

10、了使頁面整齊,使用的表格來布局頁面。主要理解HTML的表單標記、表格標記的用法。明確表單處理方式和處理表單的程序,尤其要重視對表單中各個組件的name屬性的定義不可忽略。還要注意兩次輸入密碼的組件name屬性要不同。 登錄成新會員一一請先填寫以下資料 id 性別 男 女 Email 住址 輸入密碼 重新輸入 -newuser.html -2. 新會員數據處理savedata.php?phpin clude(ope ndata.php);$sql=select * from member where id=$id;$records=mysql_query($sql);if($id =)$errm

11、sg=ID字段不可為空白!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif($sex=)$errmsg=請選擇性別!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif(!ereg(:al num:+:a In um:+.:al nu m:,$email)$errmsg=電子郵件地址錯誤!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif($addr=)$errmsg=住址字段不能為空白!;echo ;echo 錯誤信息 .$errmsg.; echo ; elseif(strle n( $password)1

12、0 or strle n( $password)6)$errmsg=請輸入6-10個字符的密碼!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif($password$c on firm)$errmsg=請重新確認密碼!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif(mysql_fetch_row($records)$errmsg=這個賬戶已經有人使用了,請換新的ID !;echo ;echo 錯誤信息 .$errmsg.;echo ;else$errmsg=存儲個人資料成功;$sql=i nsert into member(id,e

13、mail,address,password,sex)value ($id,$email,$addr,$password,$sex);mysql_query($sql);echo ;echo 注冊信息 .$errmsg.;echo 恭喜你,你已經成功的登錄成為新會員!;?-savedata.php -代碼解讀:這個程序組主要是用來逐層驗證用戶輸入各字段的數據是否準確,并驗證 在數據表中是否已有相同的id會員,若數據不準確或者id重復則出現相關的錯 誤信息。1) 連接數據庫的代碼寫在一個公共模塊opendata.php中,有利于代碼復用, 這里注意使用include()函數把它包含到所要運用的程序

14、中。-ope ndata.php-2) 從數據庫讀取和寫入數據,PHP是通過把SQL命令定義為字符串,然 后使用函數mysql_query()來實現的。3) 正則表達式:al nu m:+:al num:+.:a In um:是驗證電子郵件地址的有效 方法。4)各個表單組件的輸入要求可以用 JavaScript在 newuser.html中加以驗證,這樣做會提高處理的效率。這里通過對按鈕組件的事件處理來實現的,這個按鈕是自定義按鈕,事件是on Click,當觸發(fā)事件后,執(zhí)行函數 history.back()返回上一頁面,即newuser.html,要求用戶重新輸入。5)此程序中遇到的變量祥解變

15、量名取值含義$sqlSQL語句把SQL語句定義為字符串$records查詢數據表的結果集與數據表對應的數據集合$id/$sex/$addr/$email$password/$c on firm非空字符串6-10個字符串前頁表單中用戶填寫的數據$errmsg非空字符串反饋給用戶的錯誤信息5)此程序中遇到的函數祥解函數用法含義Include文件名 ”放在網頁的 _L* Ayr標簽之刖;當解釋器讀到函數時,會把指定的文件讀進來Mysql_query($sql)$sql是一個由SQL語句構成的字符串傳入一個SQL語句給MySQLhistory.back()無參數返回上一個頁面(跳轉來的頁面)Ereg(

16、正則表達式,$var)$var是字符串變量判斷字符匹配Strle n( $var)$var是字符串變量求字符串的長度3. 查詢密碼這段程序的功能是讓用戶輸入自己的 Email和住址來查詢忘記的密碼,只要 兩者之中有一個為準確的數據即可。表單的處理程序seach.php便會找到并顯示出用戶的密碼。1)填寫查詢條件:forget.php密碼查詢輸入住址或者電子郵件賬號來查詢密碼 輸入 E-mail 輸入住址 - forget.php - 與登錄界面相似。在表單的下方的,其作用是把處 理程序中的錯誤信息顯示出來。2)取回密碼:search.php算法描述若用戶的輸入(Email或地址)為空,則出現錯

17、誤信息;若用戶輸入Emai不空,則用Emai作為條件查詢,成功則返回密碼;否則,用輸入的地址作為條件查詢,成功則返回密碼,失敗則返回無法找回的錯誤信息并返回前一頁面,繼續(xù)輸入;若用戶只輸入地址,則用地址作為條件查詢;成功則返回密碼,失敗則返回無法找 回的錯誤信息并返回前一頁面,繼續(xù)輸入。這里的查詢是:使用SELECT命令查詢數據庫中與輸入的查詢條件一致的記錄;把記錄到的密碼存在變量 $check中;若$check不空,查詢成功否則失敗?in clude(ope ndata.php);if($email=” and $addr=)$errmsg=請輸入地址或者電子郵件賬號!;Header(Loc

18、ati on: forget.php?errmsg=$errmsg);echo ;if($email)$sql=select * from member where email=$email;$records=mysql_query($sql); list($user,$check,$add,$password,$sex)=mysql_fetch_row($records);if($check)echo 您的密碼為 .$password.;elseif($addr)$sql=select * from member where address=$addr; $records=mysql_que

19、ry($sql);list($user,$email,$check,$password,$sex)=mysql_fetch_row($records); if($check)echo 您的密碼為 .$password. ;elseecho 無法按您的輸入找到您的密碼,請檢查輸入是否有誤! ;echo ;elseecho 無法按您的輸入找到您的密碼,請檢查輸入是否有誤! ;echo ;elseif($addr)$sql=select * from member where address=$addr;$records=mysql_query($sql);list($user,$email,$ch

20、eck,$password)=mysql_fetch_row($records);if($check)echo 您的密碼為 .$password.; elseecho 無法按您的輸入找到您的密碼,請檢查輸入是否有誤! ;echo ;?-search.php -3)此程序中用到的變量祥解變量名取值含義$check字符串數據庫中滿足查詢條件密碼,為空時,說明輸入的條件不正確4)此程序中用到的函數祥解函數用法含義Header(Locatio n: forget.php?errmsg=$errmsg)放在HTML標記之前:傳遞HTTP的標頭List($user,$email,$check,$passw

21、ord)參數的數據類型可異同時處理一組變量Mysql_fetch_row($records)$records是執(zhí)行查詢語句獲得的數據集取得記錄,以列表形式返回數據4. 登錄頁面:log in .php當會員要進入專區(qū)服務、修改個人數據時,或者站長要維護會員信息時都要先登錄,驗明身份后才能進入相應的頁面。這里,根據$login的值來決定執(zhí)行的PHP程序。FORM actio n= method=post 輸入 ID 輸入密碼 -login.php -代碼解讀:1)通過$login判斷用戶所要登錄的頁面,設置頁面的標題和處理輸入身份信 息的PHP程序,這里的$login是選擇了鏈接后傳送來的。2)

22、 顯示表單,要求用戶填寫ID和密碼,FORM中? echo $action; ? 動態(tài)地設定處理此表單的程序。3)此程序中用到的變量祥解。變量名取值含義$title字符串要登錄頁面的標題$act ion以PHP程序名為值的字符串要執(zhí)行的PHP程序名5. 會員專區(qū)登錄處理member.php這是程序是會員專用的網頁,網頁的內容可根據需要設計,加在“歡迎光 臨會員網頁”之后。?in clude(ope ndata.php);$sql=select * from member where id=$id;$records=mysql_query($sql);list($user,$email,$add

23、r,$check,$sex)=mysql_fetch_row($records);if($user=”)$errmsg=ID輸入不正確或者尚未登錄為新會員;header(Locati on :logi n. php?errmsg=$errmsg&logn=1);elseif($password$check)$errmsg=密碼輸入不正確! ??;header(Locati on :logi n. php?errmsg=$errmsg&logn=1);? ,歡迎光臨會員網頁。-member.php -代碼解讀PHP代碼部分是驗證會員身份的算法描述:建立數據庫鏈接; 讀取與輸入用戶 id 相同的記錄

24、; 存放在一列變量中; 若用戶名為空,則 設置錯誤信息; 程序重新定位到登錄頁面,顯示錯誤信息, (要求用戶重新輸入) 否則,若用戶輸入密碼與數據庫中的不一致,則 設置錯誤信息; 程序重新定位到登錄頁面,顯示錯誤信息, (要求用戶重新輸入) (合法身份,顯示歡迎信息)6數據修改登錄處理包括兩個程序 modify.php 和 update.php。1) modify.php 這段程序在確定了會員身份后,顯示所填寫的會員信息,供用戶修改密碼查詢輸入住址或者電子郵件賬號來查詢密碼 輸入 E-mail 輸入住址 -modify.php -(1) PHP代碼部分是驗證會員身份的。算法與member.ph

25、p相同,但增加了 獲取單選按鈕的選中狀態(tài)部分。(2)HTML代碼部分產生一個表單,各個組件內的數據對應該會員在數據庫存儲的信息;用戶可以在表單上直接修改,并重新確認密碼,按下【修改】按鈕 便能將此表單中的數據傳送到update.php來處理。(3)此程序中用到的變量祥解變量名取值含義$boy空或 selected記錄“男”單選按鈕是否被選中$girl空或 selected記錄“女”單選按鈕是否被選中2) update.php這段程序與savedata.php類似,不同之處在于,此處對合法數據添加到數據庫 中采用的是更新( UPDATE 命令)?in clude(ope ndata.php);$

26、sql=select * from member where id=$id;$records=mysql_query($sql);if($id=”)$errmsg=ID字段不可為空白??;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif(!ereg(A:a In um:+:a In um:+.:a In um:,$email)$errmsg=電子郵件地址錯誤!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif($addr=)$errmsg=住址字段不能為空白!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif(s

27、trle n( $password)10 or strle n( $password)6)$errmsg=請輸入6-10個字符的密碼!;echo ;echo 錯誤信息 .$errmsg.;echo ;elseif($password$c on firm)$errmsg=請重新確認密碼!;echo ;echo 錯誤信息 .$errmsg.;echo ;else$sql=update member set id=$id, email=$email, address=$addr, password=$password, sex=$sex where id=$id;mysql query($sql);

28、7 站長管理登錄處理包括兩個程序manager.php和delete.php1) manager.php這段程序在確定了站長身份后,顯示所數據表中會員的信息,并選取某些數據進行刪除。? /marklin clude(ope ndata.php);$sql=select * from member where id=admi nistrator;$records=mysql_query($sql);list($user,$semail,$addr,$check,$sex,$e n)=mysql_fetch_row($records); if($password$check and $enter1

29、true)$errmsg=輸入管理員賬號或密碼錯誤??;Header(Locatio n:logi n.php?errmsg=$errmsg&log n=3); /markl$sql=select * from member ; /mark2 $records=mysql_query($sql);$total=mysql_ nu m_rows($records);$pagemax=10;$lastp=ceil($total/$pagemax);if ($page no$lastp)$page no=$lastp;elseif($page no $total)$n uml=$total;/mark

30、2$msg仁目前共有 . $total. 名會員,共 .$lastp. 頁?!保籱ark3$msg2=本頁是第 .$pageno. 頁,;$msg2.=列出了第 .$numf. 至U.$ nu ml. 條記錄。;if($page no!=1)$msg.= 第 1 頁 ; else$msg.= 第 1 頁;$msg.= | ;if($page no1)$msg.=A HRef=ma nager.php?page no=.($page no-1).&en ter仁true 上一頁;$msg.= | ;if($page no$lastp)$msg.=A HRef=ma nager.php?page

31、no=.($page no+1).$msg.=&enter仁true下一頁 . | ;if($page no !=$lastp)$msg.=A HRef=manager.php?pageno=.($lastp).&enter仁true最后頁 ;else$msg.= 最后頁 ;$sql=select * from member where (idx=$ numf and idx /mark3/mark4FORM acti on=man ager.php?e nter仁true&page no= method=post 輸入頁次: FORMactio n=delete.php?page no=&n

32、um f=&numl= method=post 編號 姓名 Email 賬號 住址 密碼 性別 ?while(list($id,$email,$addr,$password,$sex,$e n,$idx)=mysql_fetch_row($records)echo NO.$idx.;echo .$id.$email.$addr.$password.$sex.;?mark4-ma nager.php -(1) PHP代碼的前部分是驗證會員身份的。默認的管理員Id為administrator, 此條記錄也建立在 member數據表中。如代碼段中到mark1處。(2) 接下來是設置分頁顯示的參數。如代碼段中到/mark2處。算法描述:從連接的數據庫中讀取數據表member所有的記錄,存放在變量 $records中獲取數據表中包含的記錄數,存放在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論