2

我刚开始使用 PHP 和我的 SQL 数据库,我已经学会了如何创建数据库,并创建将信息存储在数据库中的注册表单,但我不知道如何阻止人们使用具有已经被占用了,我不知道如何让用户在我的网站上拥有自己的个人资料页面。你知不知道怎么?如果有任何帮助,我正在使用 XAMPP 在本地服务器上测试我的数据库和 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);
?>
4

2 回答 2

1

请确保在继续之前阅读SQL 注入。早点养成良好的 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 }

就个人资料页面而言,创建一个带有用户 ID 的 viewprofile.php 文件,下面的代码应该让您朝着正确的方向前进。

$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 教程基本用户验证教程

于 2010-08-21T01:48:50.187 回答
0

对于您的第一个问题:

当用户尝试注册时,在创建他们的帐户之前,请检查以确保他们想要的用户名尚未被使用。

为确保没有重复的用户名,请使username唯一

于 2010-08-21T01:44:22.627 回答