麻辣家族討論版版's Archiver

小誌 發表於 2011-4-22 02:43

10-2-4 處理登錄資料

[color=DarkRed][size=4][b]10-2-4   處理登錄資料[/b][/size][/color]
終於來到我們「addin.php」程式撰寫的最後階段,我們在驗證「加入會員」表單中的欄位資料,都有填寫及開啟資料庫後,接下來就是要將接收自「加入會員」表單中的欄位資料寫入資料庫檔案中。

在將會員資料寫入資料庫之前,還要先判斷一下新會員所登錄的「登入名稱」是否已經有人使用而重複:[code]//建立查詢字串用以判斷登入名稱是否重複
$SQL="Select ID From membertest Where ID='" . $ID . "'";
$RS=mysql_query($SQL);
if (!mysql_fetch_array($RS))
{
//如果登入名稱沒有人使用則寫入會員資料
$sql = "Insert Into membertest (ID, Password, Name, Email) Values ('";
$sql = $sql . $ID . "', '";
$sql = $sql . $Password . "', '";
$sql = $sql . $Name . "', '";
$sql = $sql . $Email . "')";
mysql_query($sql);
msg("線上加入會員成功\!!");
}
else  //登入名稱重複
{
msg("您的登入名稱 $ID 已經有人使用!!");
}[/code]若「登入名稱」有人使用了,同樣要呼叫「msg」副程式來產生一個「您的登入名稱XXX已經有人使用!!」的錯誤訊息網頁,如下圖所示:
[attach]5719[/attach]
圖10-11  「登入名稱」重複。

如果新會員登錄的資料都沒有問題,則使用mysql_query()函數執行串接的SQL指令敘述,將新會員的資料寫入資料庫。

小誌 發表於 2011-4-22 02:43

addin.php[code]<?
//判斷欄位資料是否為空白
//若欄位資料空白則呼叫msg副程式
if (empty($_REQUEST["Name"]))
{
msg("您忘記輸入大名啦!!");
}
else if(empty($_REQUEST["Email"]))
{
msg(!"您忘記輸入E-Mail啦!!");
}
else if(empty($_REQUEST["ID"]))
{
msg("您忘記填寫登入名稱啦!!");
}
else if(empty($_REQUEST["Password"]))
{
msg("您忘記填寫登入密碼啦!!");
}
else
{
//接收來自『加入會員』表單中的欄位資料
$Name = $_REQUEST["Name"];
$Email = $_REQUEST["Email"];
$ID = $_REQUEST["ID"];
$Password = $_REQUEST["Password"];
}

//連結MySQL Server
    $conn = mysql_connect("127.0.0.1", "root", "12345a");
//選擇資料庫
    mysql_select_db("Member", $conn);      
//指定提取資料的校對字元表
    mysql_query("set character set big5");
//建立查詢字串用以判斷登入名稱是否重複
$SQL="Select ID From membertest Where ID='" . $ID . "'";
$RS=mysql_query($SQL);

if (!mysql_fetch_array($RS))
{
//如果登入名稱沒有人使用則寫入會員資料
$sql = "Insert Into membertest (ID, Password, Name, Email) Values ('";
$sql = $sql . $ID . "', '";
$sql = $sql . $Password . "', '";
$sql = $sql . $Name . "', '";
$sql = $sql . $Email . "')";
mysql_query($sql);
msg("線上加入會員成功\!!");
}
else  //登入名稱重複
{
msg("您的登入名稱 $ID 已經有人使用!!");
}
?>

<?
function msg($info)
{
?>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>加入會員狀況</title>
</head>
<BODY>
   <CENTER>
   <H2><Font Color=red><?=$info?><HR size="1" color="#FF0066">
   <FORM>
   <INPUT Type=Button Value="上一頁" OnClick="history.back();">
   </FORM>
   </CENTER>
   </font>
</BODY>
</HTML>
<?
exit();   
}
?>[/code]

yuoo 發表於 2012-12-21 07:31

小誌大哥請問2個疑問
先斷判表單再連結資料庫和先連結資料庫再判斷表單有什麼差異嗎?
$_REQUEST 不是能先宣告成變數再判斷表單內容 範例卻是先用 $_REQUEST 在判斷表單 二者之間
判斷有什麼差異呢?

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供