我刚开始学习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>
注意:管理员用户可以完全访问所有区域。
请有人帮助我!代码很可爱!
谢谢, 查理
答案 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_*
,这不是很好,但遗憾的是它在互联网上很普遍。
如果您还没有,请查看PDO
或mysqli_*
。
如果您使用的是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
}