Php 如何限制用户注册
如何在注册页面中限制用户注册?我想限制只能注册2个用户的用户。如果另一个用户想要注册,他们会收到“注册已满”的通知 帮帮我,我不知道现在该怎么办,我整个星期都在寻找答案 下面是注册过程的php代码Php 如何限制用户注册,php,mysql,sql,Php,Mysql,Sql,如何在注册页面中限制用户注册?我想限制只能注册2个用户的用户。如果另一个用户想要注册,他们会收到“注册已满”的通知 帮帮我,我不知道现在该怎么办,我整个星期都在寻找答案 下面是注册过程的php代码 <?php include('connection.php'); $name=$_POST['name']; $username=$_POST['username']; $password=$_POST['password']; $password2=$_POST['password2'];
<?php
include('connection.php');
$name=$_POST['name'];
$username=$_POST['username'];
$password=$_POST['password'];
$password2=$_POST['password2'];
$sql=mysqli_query($conn,"INSERT INTO admin (name,username,password,password2) VALUES ('$name','$username','$password','$password2')");
if($sql == TRUE)
{
echo '<script language="javascript">';
echo 'alert("Register Successfully");';
echo 'window.location.href="index_admin.php";';
echo'</script>';
}
else
{
echo "Error: ".$sql."<br>".$conn -> error;
}
$conn -> close();
?>
如果我正确理解您的问题 您应该执行查询以从表中选择所有内容,然后对结果进行计数 然后将整个查询包装在
if()
条件中
if($num_results < 2){
// your code here
}else{
// there are already two entries in your db
}
if($num\u结果<2){
//你的代码在这里
}否则{
//数据库中已经有两个条目
}
回答您的问题:在插入数据库之前,执行如下选择计数
从管理中选择计数(*)
如果返回的行是,为什么要这样做?你想把注册限制到什么时候?你很容易受到SQL注入攻击。使用参数化的预处理语句,而不是像那样将未替换的用户数据注入查询。那么,在允许新用户注册之前,您必须对
admin
表中的当前行进行计数。有点奇怪,管理员可以自己注册,但你也不应该以明文形式存储密码。您应该只存储使用PHP内置的password\u hash()
生成的密码散列,并使用password\u verify()
验证散列。我也不认为存储密码2
有什么意义。这不只是为了验证用户输入了正确的密码吗?直到它到达2个用户,。我只想要2个可以注册的用户为什么你会选择所有的简单查询。。只需计算数据库中的用户ID取决于与数据库的连接,应该使用准备好的语句,但无论是mysqli_num_rows()
还是count()
都无关紧要,无论您想以何种方式获得$num_结果
变量,但效率总是很重要的是的您是对的。。。只有两个结果,如果返回的行与RiggsFolly完全一致,但我编写的是解释而不是编码,一些错误的伪代码:-)您能提供更多关于代码的详细信息吗,我如何限制用户注册?