Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何限制用户注册_Php_Mysql_Sql - Fatal编程技术网

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'];

如何在注册页面中限制用户注册?我想限制只能注册2个用户的用户。如果另一个用户想要注册,他们会收到“注册已满”的通知

帮帮我,我不知道现在该怎么办,我整个星期都在寻找答案

下面是注册过程的php代码

<?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完全一致,但我编写的是解释而不是编码,一些错误的伪代码:-)您能提供更多关于代码的详细信息吗,我如何限制用户注册?