Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Хот-спот (Wi-Fi) для Mikrotik Routerboard. Администраторская часть. Часть 3(3/11)

 28 Июнь 2011    MikroTik, Hotspot

Основной файл администраторской части это index.php. Приступим к описанию данного файла.

Сам файл выглядит следующим образом:

<?php

session_start();

if (isset($_GET['ld'])) { $ld = $_GET['ld']; if ($ld == '') { unset($ld);}}

if (isset($_GET['del_id'])) { $del_id = $_GET['del_id']; if ($del_id == '') { unset($del_id);}}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf8" />

<meta name="author" content="Interline" />

<link href="../style.css" rel="stylesheet" type="text/css" />

<script language="javascript" src="../jquery-1.5.1.min.js"></script>

<title>Админка</title>

</head>

<body>

<?

if (empty($_SESSION['id']))

{

require_once("au_admin_form.php");

}

if (isset($_SESSION['id']) AND isset($_SESSION['login']))

{

require_once("menu.php");

}

if (isset($_SESSION['id']) AND isset($ld) AND ($ld==add_u))

{

require_once("add_user_form.php");

}

if (isset($_SESSION['id']) AND isset($ld) AND ($ld==list_u))

{

require_once("user_list.php");

}

if (isset($del_id))

{

require_once("db.php");

mysql_query ("DELETE FROM users WHERE id='$del_id'");

echo "Пользователь удален";

}

?>

</body>

</html>

Разбираем скрипт:

Первым делом выполняем session_start();

Эти два действия пока пропустим, они нам понадобятся немного позже:

if (isset($_GET['ld'])) { $ld = $_GET['ld']; if ($ld == '') { unset($ld);}}

if (isset($_GET['del_id'])) { $del_id = $_GET['del_id']; if ($del_id == '') { unset($del_id);}}

Проверяет авторизирован ли администратор:

if (empty($_SESSION['id']))

{

require_once("au_admin_form.php");

}

Если администратор не авторизирован, то отображаем форму для ввода логина и пароля, которая находится в файле au_admin_form.php - в той же директории, что и index.php.

Форма имеет следующий вид:

 

 Как написать административную часть для WI-FI зоны Mikrotik Routerboard

Рис.1. Форма авторизации администратора.

 

Как мы видим, форма для пользователей и администраторов ничем внешне не отличаются, хотя при желании мы можем изменить ее внешний вид.

Также HTML код формы для администраторов схож с формой для пользователей, но за одним исключением: форма для администраторов передает данные в файл 'reg_admin.php'.

<form action='reg_admin.php' method='post' enctype=multipart/form-data id="au_admin">

<fieldset>

<legend>Введите логин и пароль</legend>

<p><label for="login">Логин</label> <input type="text" id="login" name="login" /></p>

<p><label for="password">Пароль</label> <input type="password" id="password" name="password" /><br /></p>

<p class="submit"><input type="submit" value="Отправить" /></p>

</fieldset>

</form>

Какая разница между файлами авторизации для пользователей и администраторов читайте в следующей статье (4/9).

После того, как администратор ввел свои данные в форму, они были обработаны, была создана сессия (и администратор вновь перенаправляется на страницу index.php).

В этом случае первая проверка не сработает, так как у нас создана сессия и в глобальный массив $_SESSION добавлены $_SESSION['id'], $_SESSION['login']. Поэтому сработает следующая:

if (isset($_SESSION['id']) AND isset($_SESSION['login']))

{

require_once("menu.php");

}

Будет подключен файл "menu.php".

 

 Как написать административную часть для WI-FI зоны Mikrotik Routerboard

Рис.2. Меню администратора.

 

<div id="tabs">

<ul>

<li><a href="?ld=add_u" id="l_add_user">Добавить пользователя</a></li>

<li><a href="?ld=list_u" id="l_user_list">Список пользователей</a></li>

<li><a href='exit.php'>Выход</a></li>

</ul>

</div>

<br />

 

В меню администратора есть следующие возможности: добавление пользователя, просмотр списка пользователей, выход из администраторской части.

 

Евгений Рудченко специально для ASP24.