Board logo

標題: 10-1-4 程式利用說明 [打印本頁]

作者: 小誌    時間: 2011-4-22 02:33     標題: 10-1-4 程式利用說明

10-1-4   程式利用說明
本範例中所提供的身份驗證程式「check.php」,將會員的身份資料建立於MySQL資料庫中,這個「會員身份」資料庫為「Member」,同時在資料庫檔案中用來儲存會員身份資料的資料表為「MemberTest」資料表。

您可以先試試我們的範例網頁test1.php或是test2.php,不管您先連結進入哪一個網頁,都必須先進行身份確認的登入動作,但是只要確認一次即可,如果再進行其他的專屬網頁連結時就不必再進行任何的身份確認登入動作了,測試登入名稱:test,密碼:1234,以連結test2.php為例,第一次連結瀏覽時將見到下列的登入畫面,請於登入名稱欄位中填入"test",登入密碼欄位中填入"1234":
[attach]5713[/attach]
圖10-6  test2.php中的登入畫面。

順利通過身份確認後,即可見到專屬網頁test2.php內容畫面:
[attach]5714[/attach]
圖10-7   通過身份驗證的網頁畫面。
作者: 小誌    時間: 2011-4-22 02:35

範例光碟\DataBase目錄中有一個MySQL資料庫「Member」,檔案名稱member.sql,請您將檔案複製到您的硬碟裡並利用phpMyAdmin將其載入到MySQL Server中,本會員專區範例所使用的資料表皆放置其中,您可直接加以利用。
[attach]5715[/attach]

check.php
  1. <?
  2. session_start();
  3.   if ( @$_SESSION["checkok"]<>"yes")
  4.   {
  5.     if (isset($_REQUEST["ID"]) && isset($_REQUEST["Password"]))
  6.     {
  7.     $ID=$_REQUEST["ID"];
  8.     $Password = $_REQUEST["Password"];
  9.     //連結SQL Server
  10.     $conn = mysql_connect("localhost", "root", "12345a");
  11.     //選擇資料庫
  12.     mysql_select_db("Member", $conn);
  13.     //指定提取資料的校對字元表
  14.     mysql_query("set character set big5");
  15.     //建立SQL命令敘述
  16.     $SQL = "Select * From membertest Where ID='" . $ID . "'";
  17.     //執行SQL指令敘述,將執行後的結果集存放於RS中
  18.     //此時RS的內容即是一個虛擬資料表
  19.     $RS=mysql_query($SQL);
  20.            //有取得資料記錄
  21.         if ($Fields=mysql_fetch_array($RS))
  22.         {
  23.           //驗證會員帳號存在
  24.           if ($Fields["ID"]==$ID)
  25.             {
  26.                  //驗證會員密碼是否正確
  27.               if ($Fields["Password"]==$Password)
  28.                 {
  29.                  session_register("checkok");
  30.                     $_SESSION["checkok"]="yes";
  31.                 }
  32.              }
  33.              }
  34.       }
  35. ?>
  36. <HTML>
  37. <head>
  38. <meta http-equiv="Content-Type" content="text/html; charset=big5">
  39. <title>會員登入</title>
  40. </head>
  41. <BODY>
  42. <h2 ALIGN="CENTER"><img border="0" src="login.gif"></h2>
  43. <CENTER>
  44. 嗨!親愛的會員您好,為讓您能在本站通行無阻,<BR>
  45. 請於下表填入您的認證資料!
  46. <FORM Action="<?=$_SERVER["PHP_SELF"];?>" Method=post>
  47. <TABLE BORDER=1 CELLSPACING=0 >
  48.    <TR><TD ALIGN=RIGHT>登入名稱:</TD>
  49.    <TD><Input Type=Text Name=ID Size=10></TD></TR>
  50.    <TR><TD ALIGN=RIGHT>登入密碼:</TD>
  51.    <TD><Input Type=Password Name=Password Size=8></TD></TR>
  52. </TABLE><P>
  53. <INPUT Type=Submit Value=" 確 定 " name="B1">
  54. </FORM>
  55. </CENTER>
  56. </BODY>
  57. </HTML>
  58. <?
  59. exit();
  60. }
  61. ?>
複製代碼

作者: yuoo    時間: 2012-12-21 07:47

check.php
登入時不是寫入session 值 yes
為什麼 還需要再檢查 password 及 id 呢?
作者: 小誌    時間: 2012-12-21 15:54

  1. if ( @$_SESSION["checkok"]<>"yes")
複製代碼
注意這一句




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)