在php的注册页面中,不想让用户可以重复注册,怎样解决?改了好多遍就是不行。希望有人帮助解决,谢谢了。

$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); 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>";
}

这个知道你的意思是什么?你说的重复注册可以理解为两种:
第一种:就是相同用户只能注册一次,这个加个主键就可以了,也可以通过查询数据库是不是存在这个用户,如果存在,提示该用户已经注册,这个最好的办法是采用Ajax在注册页面直接判断。
第二种:就是一个人职能注册一个帐号,这个就有记录IP地址了,
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
试修改代码如下:

<?php

$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='$username1'";
$rs = mysql_query($sql, $conn);
if(mysql_num_rows($rs)>0)
{
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>";
}

?>本回答被网友采纳
第2个回答  2012-06-30
干嘛要用mysql_fetch_arry,你这样写只能获取数据库中的第一条信息,并不是全部信息,除非你写个循环,不过那没必要;你query获得$rs这个结果集之后写个$bool=mysql_num_rows($rs);然后判断$boll,等于1说明数据库中有这个值了,等于0说明数据库中没有这个值,可以注册

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网