Intereting Posts
Должен ли я использовать текстовый файл или базу данных для счетчика посетителей PHP? рассчитать количество дней недели в диапазоне дат Проблема с получением данных из нескольких полей в один массив Получить доменное имя (не субдомен) в php Отправить запрос на отправку AJAX, используя только PHP Как узнать имя переменной внутри функции? Есть ли что-то вроде MasterPages в CodeIgniter Framework? после изменения documentroot, xampp все еще использует по умолчанию phpmyadmin php – Различия между копиями, переименованием и move_uploaded_file Laravel – BindingResolutionExceptionUnresolvable урегулирование зависимостей ] в классе GuzzleHttp \ Psr7 \ Request Regex приводит к тому, что «Разделитель не должен быть буквенно-цифровым или обратным слэшем» Является ли php-сессия неизменной от пользователя? MySQL – выбор из нескольких таблиц, возможно без объединения? Рекомендации по локализации PHP? GetText? Как скрыть / защитить данные паролей в php?

Код для ограничения регистрации пользователя – скрыть / показать форму php

Я только начал изучать 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> 

Примечание. Пользователи-администраторы получат полный доступ ко всем областям.

Пожалуйста, помогите мне! Код был бы прекрасен!

Спасибо, Чарли

 <?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."; }; ?> 

Используя любой метод базы данных, который вы используете, вы должны заглянуть в базу данных и посмотреть, сколько результатов будет возвращено. Если их 4 или более, то не отображать форму, если нет, а затем отображать ее.

Увидев, что вы новичок в PHP, шансы вашего языка базы данных будут mysql_* , что не очень хорошо, но, к сожалению, оно широко распространено в Интернете.

Пожалуйста, mysqli_* 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 }