標題:
10-2-4 處理登錄資料
[打印本頁]
作者:
小誌
時間:
2011-4-22 02:43
標題:
10-2-4 處理登錄資料
10-2-4 處理登錄資料
終於來到我們「addin.php」程式撰寫的最後階段,我們在驗證「加入會員」表單中的欄位資料,都有填寫及開啟資料庫後,接下來就是要將接收自「加入會員」表單中的欄位資料寫入資料庫檔案中。
在將會員資料寫入資料庫之前,還要先判斷一下新會員所登錄的「登入名稱」是否已經有人使用而重複:
//建立查詢字串用以判斷登入名稱是否重複
$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 已經有人使用!!");
}
複製代碼
若「登入名稱」有人使用了,同樣要呼叫「msg」副程式來產生一個「您的登入名稱XXX已經有人使用!!」的錯誤訊息網頁,如下圖所示:
[attach]5719[/attach]
圖10-11 「登入名稱」重複。
如果新會員登錄的資料都沒有問題,則使用mysql_query()函數執行串接的SQL指令敘述,將新會員的資料寫入資料庫。
作者:
小誌
時間:
2011-4-22 02:43
addin.php
<?
//判斷欄位資料是否為空白
//若欄位資料空白則呼叫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();
}
?>
複製代碼
作者:
yuoo
時間:
2012-12-21 07:31
小誌大哥請問2個疑問
先斷判表單再連結資料庫和先連結資料庫再判斷表單有什麼差異嗎?
$_REQUEST 不是能先宣告成變數再判斷表單內容 範例卻是先用 $_REQUEST 在判斷表單 二者之間
判斷有什麼差異呢?
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)