我昨天晚上在寫一個程式,是關於師生履歷系統,這個程式可以幫老師的著作格式都排得很統一整齊,然後同步到官方網站的履歷上。不過,萬事起頭難,要先寫一個帳號密碼的驗證機制,這是相當繁瑣的程式,所以就先看看網路上有沒有寫好的,一下子就找到一篇〈[教學]PHP會員登入機制,session的使用,簡易型電話簿範例(對MySQL新增、修改、刪除)!〉,寫得很詳細,大致上還算不錯。小缺點是他的程式分太多支了,此外還有一個很大的缺陷,他疏忽了帳號重複註冊的問題。
這也不難解決,把他的register_finish.php這支程式加一個判斷式就可以了,我改動的地方是13到22行,22行修改為else if,其他是新增的程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<?php include("mysql_connect.inc.php"); $id = $_POST['id']; $pw = $_POST['pw']; $pw2 = $_POST['pw2']; $telephone = $_POST['telephone']; $address = $_POST['address']; $other = $_POST['other']; //判斷帳號密碼是否為空值 //確認密碼輸入的正確性 $sql = "SELECT * FROM member_table where username = '$id'"; $result = mysql_query($sql); $row = @mysql_fetch_row($result); if ( $row[1] == $id) { echo '帳號重複,請洽管理員'; echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; } else if($id != null && $pw != null && $pw2 != null && $pw == $pw2) { //新增資料進資料庫語法 $sql = "insert into member_table (username, password, telephone, address, other) values ('$id', '$pw', '$telephone', '$address', '$other')"; if(mysql_query($sql)) { echo '新增成功!'; echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; } else { echo '新增失敗!'; echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; } } else { echo '註冊失敗!'; echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; } ?> |
全站熱搜
留言列表