2010-08-21 78 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

相关问题