限制用户注册的代码 - 隐藏/显示表单 php [关闭]
Posted
技术标签:
【中文标题】限制用户注册的代码 - 隐藏/显示表单 php [关闭]【英文标题】:Code to limit user registration - hide/show form php [closed] 【发布时间】:2014-03-26 07:38:27 【问题描述】:我刚刚开始学习 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>
注意:管理员用户将拥有所有区域的完全访问权限。
请有人帮助我!代码会很可爱!
谢谢, 查理
【问题讨论】:
每个 IP 地址 4 个用户?总共4个注册然后关闭? 我看到的只是 PHP,没有 SQL。你有什么问题? “代码会很可爱! - 它会,不是吗?学习。它不会杀死你。 共有 4 个用户 @FilipeYaBaPolido 我有一个连接到数据库的包含...@Fred-ii- 好吧,查理,只要做一个计数(*),如果等于 4,则禁用表单。人们已经在下面回答了。 【参考方案1】:<?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.";
;
?>
【讨论】:
myslqi_connect
好的。 OP 会突然觉醒。
$users = $res->fetch_array(MYSQLI_ASSOC)) - 不喜欢这行代码?
@CharlieW95 第二个右括号可能是罪魁祸首!摆脱那个“)”我已经通过删除额外的括号并添加分号来更新代码
@danielsmile 谢谢!它解决了这个问题,当我将表单插入 // 插入表单代码时,它认为表单的第一部分是 PHP 并且出现错误?
@CharlieW95 我将更新代码,使其对 html 更友好。您需要通过关闭 PHP 标记来分隔 PHP 和 HTML 代码。别担心,这不会停止 PHP 代码的运行:)【参考方案2】:
无论您使用何种数据库方法,您都应该查看数据库并查看返回了多少结果。如果有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);
然后你可以在if
中使用$rowcount
来查看是否大于4。
例如。
if ($rowcount > 4)
echo "Sorry, no more users can sign up";
else
//form here
【讨论】:
if ($result=mysqli_querty($con,$sql) 有人从另一个myslqi_connect
复制/粘贴@
我实际上打错了。刚刚更正了谢谢。
那么,另一个人从你那里复制了 ;-)
我有一些拼写错误,因为我试图打字太快,所以他也可能遭受同样的命运哈哈@Fred-ii-以上是关于限制用户注册的代码 - 隐藏/显示表单 php [关闭]的主要内容,如果未能解决你的问题,请参考以下文章