2010-08-21 73 views
2

我剛開始使用PHP和我的SQL數據庫,我已經學會了如何創建數據庫,並創建註冊表單來存儲數據庫中的信息,但我不知道如何防止人們能夠註冊用戶名已經採取了,我不知道如何讓用戶在我的網站上有自己的個人資料頁面。你知不知道怎麼?我使用XAMPP來測試我的本地服務器上的數據庫和PHP代碼,如果有任何幫助的話。 這是我的PHP代碼:如何創建一個配置文件的php代碼?

<?php 
$con=mysql_connect("localhost", "root", ""); 
if (!$con) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 
$username=$_POST['username']; 
$password=$_POST['password']; 
$email=$_POST['email']; 

mysql_select_db("test", $con); 

mysql_query("INSERT INTO users (id, username, password, email) 
    VALUES (NULL,'$username', MD5('$password'), '$email')"); 

if (my_query) 
    echo "Account Successfully Created"; 
else 
    echo "Sorry Could Not Create Account !"; 

mysql_close($con); 
?> 

回答

1

請確保您在繼續之前SQL injections閱讀起來。儘早獲得好的MySQL習慣是很好的!

你需要更改下面的SQL查詢,以適應當前的數據庫結構,但你應該看到這是怎麼回事的模式 -

$getSQL = "SELECT * FROM users WHERE username = '$username';"; 
$getResult = mysql_query($getSQL); 
if(mysql_num_rows($getResult) > 0) { // This username is already taken } else { // This is a new username } 

至於個人資料頁面,創建一個自拍。 PHP文件,它需要用戶的ID,下面的代碼應該讓你朝着正確的方向前進。

$getSQL = "SELECT * FROM users WHERE id = '$id';"; 
$getResult = mysql_query($getSQL); 
if(mysql_num_rows($getResult) > 0) { 

    // The profile being viewed exists 

    while($gR = mysql_fetch_array($getResult)) { 
     $userid = $gR['id']; 
     $username = $gR['username']; 
    } 

} else { 

    // The profile being viewed doesn't exist 
} 

我真的希望這可以幫助你!一些其他的好資源給你:MySQL Tutorial,Basic User Authentication Tutorial,

+0

非常感謝你!真的有幫助。 – 2010-08-21 02:13:55

+0

什麼是$ gr,我沒有看到是宣佈的。沒關係,我明白了。 – 2010-08-21 02:19:26

0

對於你的第一個問題:

當用戶嘗試註冊,創建自己的帳戶之前,檢查以確保其所需的用戶名尚未採取。

爲了保證沒有重複的用戶名,使usernameunique