用于限制用户注册的代码 - 隐藏/显示表单php

时间:2014-02-24 14:54:44

标签: php html sql phpmyadmin

我刚开始学习PHP - 不是很好。我创建了一个表单(见下文),我希望人们注册,但我想将此限制为一定数量的成员。例如,4个用户可以在达到该金额时注册,它将隐藏表单并显示一条消息“抱歉,您已达到用户帐户限制”。

<form action="users.php?new=1" method="post">
    <input type="hidden" name="action" value="newUser"/>
    <input type="hidden" name="id" value="0"/>
<fieldset>
    <legend>Add new user</legend>

    <?php if(isset($msg)) { echo $msg;}?>

    <p>
        <label>Full name: </label>
        <input name="name"  value="<?php if(isset($name)) { echo $name;}?>" style="width:400px;"/>
    </p>

     <p>
        <label>Email: </label>
        <input name="email"  value="<?php if(isset($email)) { echo $email;}?>" style="width:400px;"/>
    </p>

     <p>
        <label>Password: </label>
        <input name="password" type="password"  value="" style="width:400px;"/>
    </p>
     <p>
        <label>Phone number: </label>
        <input name="phone"  value="<?php if(isset($phone)) { echo $phone;}?>" style="width:400px;"/>
    </p>

                    <p>

<label>User level:</label>
        <select name="access" class="dropdown">
            <option value="no" <?php if(isset($access)) { if ($access =='no'){ echo ' selected="selected" ';}}?>>User</option>
            <option value="yes" <?php if(isset($access)) { if ($access =='yes'){ echo ' selected="selected" ';}}?>>Admin</option>
         </select>

 

注意:管理员用户可以完全访问所有区域。

请有人帮助我!代码很可爱!

谢谢, 查理

2 个答案:

答案 0 :(得分:0)

<?php        
    $connection=mysqli_connect("host", "username", "password", "database");
    $sql="SELECT COUNT(*) from database_users";
    $stmt = $connection->prepare($sql);
    $stmt->execute();
    $res = $stmt->get_result();
    $users = $res->fetch_array(MYSQLI_ASSOC);

    if ($users['COUNT(*)'] < 4) {
?>

    // html goes here, outside of the php tags

<?php
    } else {

        echo "Sorry, you have reached the user account limit.";

    };
?>

答案 1 :(得分:0)

使用您正在使用的任何数据库方法,您应该查看数据库并查看返回的结果数量。如果有4个或更多,则不显示表单,如果没有,则显示它。

看到你是PHP的新手,数据库语言的可能性将是mysql_*,这不是很好,但遗憾的是它在互联网上很普遍。

如果您还没有,请查看PDOmysqli_*

如果您使用的是mysqli:

<?php
    $con=mysqli_connect("host", "username", "password", "database");

    if (mysqli_connect_errno($con))
    {
        echo "Failed to connect: " . mysqli_connect_error();
    }

    $sql= "SELECT * FROM table";
    if ($result=mysqli_query($con,$sql){
        $rowcount = mysqli_num_rows($result);
    }

然后,您可以在$rowcount中使用if来查看它是否超过4个。

例如

if ($rowcount > 4){
    echo "Sorry, no more users can sign up";
}else{
    //form here
}