Index: hadoop-register/forget_password.php
===================================================================
--- hadoop-register/forget_password.php	(revision 58)
+++ hadoop-register/forget_password.php	(revision 63)
@@ -1,81 +1,98 @@
 <?
-	/*
-     * 由使用者輸入帳號及註冊信箱，程式將判斷是否符合，再決定是否產生新密碼，送至使用者原註冊信箱。
-	 * 接收由 forget_password.php 傳來的 $_GET["user"] 資料，產生新密碼後送回使用者的信箱。
-	 */
+  /*
+   * 由使用者輸入帳號及註冊信箱，程式將判斷是否符合，再決定是否產生新密碼，送至使用者原註冊信箱。
+   * 接收由 forget_password.php 傳來的 $_GET["user"] 資料，產生新密碼後送回使用者的信箱。
+   */
 
-	require_once ("./etc/init.php");
-	include_once ("./etc/funs.php");
+  require_once ("./etc/init.php");
+  include_once ("./etc/funs.php");
 
-	// 第一次要求使用者輸入帳號及註冊信箱
-	if ($_POST["user"]=="" || $_POST["email"]=="")
-	{
-		echo '
-	    <SCRIPT LANGUAGE="javascript">
-        function check_data()
+  // 第一次要求使用者輸入帳號及註冊信箱
+  if ($_POST["user"]=="" || $_POST["email"]=="")
+  {
+    echo '
+    <HTML>
+    <HEAD>
+      <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+      <TITLE> Hadoop 帳號 </TITLE>
+    <SCRIPT LANGUAGE="javascript">
+      function check_data()
+      {
+        if (document.myForm.user.value.length == 0)
         {
-            if (document.myForm.user.value.length == 0)
-            {
-                alert("帳號不可空白");
-                return false;
-            }
-            if (document.myForm.email.value.length == 0)
-            {
-                alert("E-mail不可空白");
-                return false;
-            }   
+          alert("帳號不可空白");
+          return false;
+        }
+
+        var mailString = document.myForm.email.value;
+        var pattern=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;  
+        if (!pattern.exec(mailString) )
+        {
+          alert(mailString + " : E-mail 格式錯誤");
+          return false;
+        }
         myForm.submit();
-        }
-	    </SCRIPT>
+      }
+    </SCRIPT>
+    <FORM ACTION="forget_password.php" METHOD="post" NAME="myForm">
+      <TABLE WIDTH="40%" ALIGN="center">
+        <TR>
+          <TD ALIGN="center">
+            <FONT COLOR="#3333FF">帳號：</FONT>
+            <INPUT NAME="user" TYPE="text" SIZE="15">
+          </TD>
+        </TR>
+	<TR>
+	  <TD ALIGN="center">
+	    <FONT COLOR="#3333FF">註冊信箱：</FONT>
+            <INPUT NAME="email" TYPE="text" SIZE="15">
+          </TD>
+        </TR>
+        <TR>
+          <TD ALIGN="center">
+	    <INPUT TYPE="button" VALUE="送出" onClick="check_data()">
+	    <INPUT TYPE="reset" VALUE="重填">
+          </TD>
+        </TR>
+      </TABLE>
+    </FORM>
+    </HTML>
+	';	
+  }
 
-		<FORM ACTION="forget_password.php" METHOD="post" NAME="myForm">
-            <TABLE WIDTH="40%" ALIGN="center">
-                <TR>
-                    <TD ALIGN="center">
-                        <FONT COLOR="#3333FF">帳號：</FONT>
-                        <INPUT NAME="user" TYPE="text" SIZE="15">
-                    </TD>
-                </TR>
-                <TR>
-                    <TD ALIGN="center">
-                        <FONT COLOR="#3333FF">註冊信箱：</FONT>
-                        <INPUT NAME="email" TYPE="text" SIZE="15">
-                    </TD>
-                </TR>
-                <TR>
-                    <TD ALIGN="center">
-                        <INPUT TYPE="button" VALUE="送出" onClick="check_data()">
-						<INPUT TYPE="reset" VALUE="重填">
-                    </TD>
-                </TR>
-            </TABLE>
-        </FORM>	
-		';	
-	}
+  // 當使用者輸入完帳號及註冊信箱後
+  else
+  {
+    $my_user = new W_user();
+    $my_user->user = $_POST["user"];
+    $my_user->email = $_POST["email"];
 
-	// 當使用者輸入完帳號及註冊信箱後
-	else
-	{
-		$my_user = new W_user();
-		$my_user->user = $_POST["user"];
-		$my_user->email = $_POST["email"];
-		$my_user->new_password = $my_user->get_new_password();		// 取得新密碼
+    // 連結資料庫
+    $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error());
+    mysql_select_db($mysql_database, $link) or die(mysql_error() );
+    mysql_query("SET NAMES 'utf8'");
+    
+    // 判斷此帳號密碼是否存在
+    $str = sprintf("SELECT `id` FROM `%s` WHERE  `name` LIKE '%s' and `email` LIKE '%s' limit 1", $mysql_table, $my_user->user, $my_user->email);
+    $result = mysql_query($str , $link) or die(mysql_error() );
+    if (mysql_num_rows($result) == 1)
+    {
 
-		// 連結資料庫
-	    $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error());
-	    mysql_select_db($mysql_database, $link) or die(mysql_error() );
-	    mysql_query("SET NAMES 'utf8'");
-
-    	// 更新使用者認證碼
-    	$str = sprintf("UPDATE `%s` SET `password` = '%s' WHERE `user` LIKE '%s' ", $mysql_table, md5($my_user->new_password), $my_user->user);
-    	mysql_query($str , $link) or die(mysql_error() );
-    	mysql_close($link);
-
-		// 寄送新密碼
-		$my_user->operator = "new_password";		// user 需要更新密碼
-		include ("smtp_mail.php");
-		$my_user->redirect_to("http://$w_localhost", "新密碼寄送完畢");
-
-	}
+      // 更新使用者密碼
+      $my_user->new_password = $my_user->get_new_password();		// 取得新密碼
+      $str = sprintf("UPDATE `%s` SET `password` = '%s' WHERE `user` LIKE '%s' ", $mysql_table, md5($my_user->new_password), $my_user->user);
+      mysql_query($str , $link) or die(mysql_error() );
+      mysql_close($link);
+    
+      // 寄送新密碼
+      $my_user->operator = "new_password";		// user 需要更新密碼
+      include ("smtp_mail.php");
+      $my_user->redirect_to("http://$w_localhost", "新密碼寄送完畢");
+    }
+    else
+    {
+      $my_user->redirect_to("http://$w_localhost", "帳號與密碼不符合");
+    }
+  }
 ?>
 
