我昨天晚上在寫一個程式,是關於師生履歷系統,這個程式可以幫老師的著作格式都排得很統一整齊,然後同步到官方網站的履歷上。不過,萬事起頭難,要先寫一個帳號密碼的驗證機制,這是相當繁瑣的程式,所以就先看看網路上有沒有寫好的,一下子就找到一篇〈[教學]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>';
}
?>
arrow
arrow
    全站熱搜

    okplaymayday 發表在 痞客邦 留言(2) 人氣()