Мы уже построили Wi-Fi зону на Mikrotik RouterBoard 433AH, Mikrotik RouterBoard 800, Mikrotik RouterBoard RB435G и разобрались с основными файлами системы управления. Приступаем к добавлению пользователей.
Рис.1. Пустой список пользователей.
Изначально список пользователей пуст.
Рис.2. Добавляем пользователя.
Данные, введенные в форму, передаются на обработку в файл add_user.php.
<?
session_start();
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);}}
if (isset($_POST['password'])) { $password = $_POST['password']; if ($password == '') { unset($password);} }
if (isset($_POST['balance'])) { $balance = $_POST['balance']; if ($balance == '') { unset($balance);} }
if (isset($_POST['mac'])) { $mac = $_POST['mac']; if ($mac == '') { unset($mac);} }
include ("db.php");
if (empty($_SESSION['id']))
{
exit ("NO ADMIN! <meta http-equiv='refresh' content='4;URL=index.php'>");
}
if (empty($login) or empty($password) or empty($balance) or empty($mac))
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля! <meta http-equiv='refresh' content='4;URL=index.php'>");
}
$result0 = mysql_query("SELECT id FROM users WHERE login='$login' OR mac='$mac'"); #Проверяем есть ли пользоватеди на этом девайсе
if (mysql_num_rows($result0) > 0) {
echo "<meta http-equiv='refresh' content='2;URL=index.php'>";
exit ("Login или MAC заняты");
}
$result = mysql_query ("INSERT INTO users (login, password, balance, mac, access) VALUES ('$login','$password','$balance','$mac','yes')");
if
($result == 'true')
{echo "Пользователь добавлен";
echo "<meta http-equiv='refresh' content='4;URL=index.php'>";
}
else
{
echo "Пользователь не добавлен";
echo "<meta http-equiv='refresh' content='2;URL=index.php'>";
}
?>
Разбираем скрипт.
Запуск сессии:
session_start();
Получаем данные (переданные методом POST) из формы и заносим их в переменные:
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);}}
if (isset($_POST['password'])) { $password = $_POST['password']; if ($password == '') { unset($password);} }
if (isset($_POST['balance'])) { $balance = $_POST['balance']; if ($balance == '') { unset($balance);} }
if (isset($_POST['mac'])) { $mac = $_POST['mac']; if ($mac == '') { unset($mac);} }
Подключаем файл соединения с базой данных:
include ("db.php");
Проверяем, авторизирован ли администратор. Если не авторизирован, выводим сообщение «NO ADMIN» и останавливаем выполнение скрипта:
if (empty($_SESSION['id']))
{
exit ("NO ADMIN! <meta http-equiv='refresh' content='4;URL=index.php'>");
}
Проверяет все ли поля формы были заполнены:
if (empty($login) or empty($password) or empty($balance) or empty($mac))
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля! <meta http-equiv='refresh' content='4;URL=index.php'>");
}
Извлекаем из базы данных запись с логином и паролем, который мы получили из формы:
$result0 = mysql_query("SELECT id FROM users WHERE login='$login' OR mac='$mac'");
Если $result0 получился больше нуля, значит запись с таким логином или МАС-адресом уже существует. Эта проверка предотвратит дублирование данных:
if (mysql_num_rows($result0) > 0) {
echo "<meta http-equiv='refresh' content='2;URL=index.php'>";
exit ("Login или MAC заняты");
}
Добавление пользователя в базу данных.
Вставляем в таблицу users поля: login, password, balance, mac. Это значения переменных '$login','$password','$balance','$mac', а для поля access значение yes:
$result = mysql_query ("INSERT INTO users (login, password, balance, mac, access) VALUES ('$login','$password','$balance','$mac','yes')");
if
($result == 'true')
{echo "Пользователь добавлен";
echo "<meta http-equiv='refresh' content='4;URL=index.php'>";
}
else
{
echo "Пользователь не добавлен";
echo "<meta http-equiv='refresh' content='2;URL=index.php'>";
}
?>
Рис.3. Список пользователей.
Информация о пользователе доступна в списке.
Евгений Рудченко специально для ASP24.