$username=$_POST['username'];
$password=$_POST['password'];
$username1=$_POST['username1'];    //注册的名字
                                 //接受输入的内容
include("db.php");if($username1==''||$password==''){          
echo "用户名和密码不能为空!请重新输入!";
echo "<a href=index.php>[注册]</a>";
exit;     }
$sql="select * from admin where username='$username'";
$rs=mysql_query($sql,$conn);$arr = mysql_fetch_array($rs,MYSQL_ASSOC);
 echo mysql_error();
if($arr['username']==$username1){
    echo "用户名已存在,请重新注册!";    echo "<a href=index.php>[注册]</a>";    }else{
      mysql_query("insert into admin(username,password) values ('$username1','$password')",$conn);
    
      echo $username1.",您好注册成功,请您登录!<a href=manage.php>[登录]</a>";     }

解决方案 »

  1.   

    sql查询用户名字是否重复。可以通过ajax来判断。
      

  2.   

    这里的$arr是一个二维数组:$sql="select * from admin where username='".$username."'";
    $res = mysql_query($sql);
    if(!$res)
    die("SQL:{$sql}<br>Error:".mysql_error());
    if(mysql_affected_rows() > 0){
    $arr = array();
    while($rows = mysql_fetch_array(MYSQL_ASSOC)){
    array_push($arr,$rows);
    }
    }else{
    echo "查询失败<br>Error:".mysql_error();
    }foreach($arr as $tmp){
    $res = in_array($username1,$tmp);
    }if($res)
    echo "该用户已存在";
    else
    echo "该用户名可以注册";
      

  3.   

    用户名建unique索引,直接插,失败了说明重复了。