- •1. Основні технології розробки web-додатків
- •1.1 Протокол http
- •Основні технології розробки web-додатків
- •1.3 Короткі підсумки
- •2 Структура html-документа
- •2.1. Елементи мови html
- •2.2 Структура html-документа
- •2.2.1.Початок
- •Заголовки
- •Нижче на малюнку показаний результат використання наступних заголовків:
- •Списки в html
- •2.2.2 Тіло документа
- •2.3 Використання графіки в html
- •2.4 Таблиці
- •Атрибут border. Значення цього атрибута визначає як будуть виглядати рамки таблиці. Якщо атрибут не заданий або його значення дорівнює нулю, то таблиця не матиме рамок.
- •2.5 Html-форми Форми використовуються в www для передачі інформації від клієнта до сервера.
- •3 Каскадні таблиці стилів css
- •3.1 Загальні відомості про css
- •3.2 Додавання стилю на веб-сторінку
- •3.2.1. Таблиця пов'язаних стилів
- •3.2.2 Таблиця глобальних стилів
- •3.2.3 Внутрішні стилі
- •3.3 Синтаксис css
- •3.3.1 Властивості css
- •3.3.2 Селектори тегів
- •3.3.3 Селектори класів
- •3.3.4 Селектори-ідентифікатори
- •3.3.5 Контекстні селектори
- •3.3.6 Сусідні селектори
- •3.3.7 Дочірні селектори
- •Селектор зі значенням атрибута – встановлює стиль елемента в тому випадку, якщо задано певне значення зазначеного атрибута. Синтаксис застосування наступний.
- •Наприклад:
- •3.3.9 Універсальний селектор
- •3.4 Псевдокласи
- •3.4.2 Короткі підсумки
- •4 Типи і структури даних в javascript
- •Скрипт в html документі
- •4.2 Змінні та літерали
- •4.2.1 Літерали
- •4.3 Оператори JavaSscript
- •4.3.2 Оператор обробки рядків
- •4.3.3 Оператор typeof Аргументом оператора є змінна або вираз. Оператор повертає рядок, що описує тип аргументу(див. Табл. 4.4).
- •4.3.4 Умовний оператор (Оператор If)
- •4.3.5 Оператор перемикання (switch)
- •4.3.6 Оператори циклу
- •4.4 Масиви
- •Метод reverse () – застосовується для зміни на протилежний порядок елементів масиву всередині масиву. Припустимо, масив натуральних чисел впорядкований по зростанню:
- •Впорядкуємо його по спаданню:
- •4.5.2 Інструкція return
- •4.5.3 Виклик функції
- •4.6.2 Константи
- •4.6.3 Математичні функції.
- •4.6.4 Приклад. Генератор випадкових чисел
- •4.7 Контрольні питання
- •Події та обробники подій
- •5.1.1 Спливання подій в dhtml
- •5.1.2 Стандартні події dhtml.
- •Способи зв'язування подій
- •5.2.1 Введення подій в якості атрибутів.
- •5.2.2 Обробники подій як функції.
- •5.2.3 Динамічне зв'язування подій у сценарії.
- •5.2.5 Атрибути for і event.
- •Об'єкти браузера
- •Об'єктна модель браузера
- •Об'єкт window (Операції з вікнами)
- •Об'єкт navigator (властивості браузера)
- •Об'єкт location (Інформація про документ і вікна браузера)
- •Об'єкт history (Переходи між Web-сторінками )
- •Робота з діалоговими вікнами
- •Управління документом
- •Об'єктна модель документа
- •7.1.1 Сімейства, властивості і методи
- •Дерево документа (Document Tree)
- •Переміщення по Дереву Документа.
- •Динамічний вміст
- •8.1.1 Найбільш популярні моделі даних
- •9.3.1 Поділ інструкцій.
- •9.3.2 Коментарі.
- •9.3.3 Змінні, константи й оператори
- •9.3.6 Типи даних
- •Висновок
- •Керуючі конструкції рнр
- •Умовні оператори
- •// Ця програма надрукує всі парні цифри
- •{// Друкуємо цифру, якщо вона парна
- •Оператори передачі управління
- •Оператори включення
- •10.5 Висновок
- •Функції і масиви в php
- •Функції, визначені користувачем
- •11.1.1 Повернення значень функцією.
- •Рекурсивні функції.
- •11.1.3 Функції-змінні.
- •11.1.4 Побудова бібліотек функцій.
- •11.2.1 Операції з масивами.
- •11.2.2 Сортування масивів.
- •Sort_regular – порівнювати елементи масиву звичайним чином; sort_numeric – порівнювати елементи масиву як числа; sort_string – порівнювати елементи масиву як рядки.
- •11.2.3 Сортування масиву за ключами.
- •11.2.4 Сортування за допомогою функції, заданої користувачем.
- •Ми застосували нашу власну функцію сортування до всіх елементів масиву.
- •11.2.5 Застосування функції до всіх елементів массиву.
- •11.2.6 Виділення підмасива
- •Висновок
- •12 Строкові функції php
- •12.1 Функції пошуку в тексті (substr(), strpos(), strrpos(), strstr(), strchr(), stristr(), strrchr(), substr_count(), strspn(), strcspn())
- •12.2 Функції strlen(), chr() і ord()
- •12.3 Trim-функції (функції видалення символів відступу) trim (), ltrim (), rtrim (), chop ()
- •12.4 Функції форматного виведення. Специфікатори перетворення printf (), sprintf (), sscanf ().
- •12.5 Функції перетворення кодування
- •12.6 Функції роботи з бінарними даними pack () unpack ()
- •12.7 Функції роботи з блоками тексту (wordwrap (), str_replace (), substr_replace (), strtr (), stripslashes (), stripcslashes (), addslashes (), addcslashes (), quotemeta (), strrev ())
- •12.8 Функції об'єднання / поділу рядків (str_repeat (), str_pad (), chunk_split (), strtok (), explode (), implode (), join ())
- •12.9 Функции сравнения строк (strcmp(), strncmp(), strcasecmp(), strncasecmp(), strnatcmp(), strnatcasecmp(), similar_text(), levenshtein())
- •12.10 Функції роботи з url (parse_url (), parse_str (), rawurlencode (), rawurldecode (), base64_encode (), base64_decode ())
- •12.11 Функції перетворення регістру (strtolower (), strtoupper (), ucfirst (), ucwords ())
- •12.13 Функція htmlspecialchars
- •13 Робота з файлами
- •13.1 Відкриття і закриття файлів
- •13.2 Читання з файлів і запис у файли
- •13.2.1 Читання з файлів.
- •13.2.2 Запис в файли
- •13.5 Переміщення по файлам
- •13.6 Робота з каталогами
- •13.7 Завантаження файлу на сервер
- •14.1 Авторизація доступу
- •14.2 Механізм сесій
- •14.3 Налаштування сесій
- •14.4.1 Відкриття сесії
- •14.4.2 Створення сесії
- •14.4.3 Реєстрація змінних сесії
- •14.4.4 Видалення змінних сесії
- •14.5 Безпека
- •14.6 Висновок
- •15.1 Проектування
- •15.2 Система адміністрування контенту
- •15.2.1 Вимоги до системи адміністрування контенту (cms).
- •15.2.2 Адміністрування списку користувачів.
- •15.2.3 Вхід на сторінку адміністрування
- •15.2.4 Відкриття списку користувачів.
- •15.2.5 Редагування запису користувача.
- •15.2.6 Видалення користувача
15.2.2 Адміністрування списку користувачів.
При вході на багато сайтів користувачі повинні авторизуватись і потім продовжити перегляд вмісту сайту. Дані про користувачів зазвичай зберігаються в базі даних, куди їх вносять самі користувачі при реєстрації.
Адміністратор сайту повинен мати можливість переглядати список користувачів, редагувати і видаляти записи. Редагування записів може бути необхідно, якщо адміністратор формує або змінює паролі користувачів, визначає тип користувача і т. п. Отже, адміністратор повинен мати можливість:
1. входити на сторінку адміністрування;
2. відкривати список користувачів;
3. редагувати будь-який запис з даними користувача;
4. видаляти записи користувачів.
15.2.3 Вхід на сторінку адміністрування
Для забезпечення входу в розділ адміністрування необхідно заздалегідь внести в базу даних інформацію про адміністратора, наприклад вказавши в полі usertype значення admin.
У цьому випадку в каталозі admin можна розмістити файл index.php такого змісту:
<?php
$title = 'Вхід на сторінку адміністрування';
include "utils/topadmin.php";
?>
<TABLE width=100% bgColor=white border=0>
<form name=admin_auth action=adminpage.php method=POST>
<tr> <td colspan=2 > Вхід для адміністратора:</td>
<tr><td align="right"> Ім'я (Login):</td>
<td align="left"><input type="text" name=login maxlength="50" size="20">
</td></tr>
<tr><td align="right">Пароль:</td>
<td align="left"><input type="password" name="password" maxlength="50"
size="20">
</td></tr>
<tr><td align=center colspan=2><input type="submit" size=20 value="Вхід" >
</td></tr>
</form>
</table>
<?php
include "utils/bottomadmin.php";?>
На сторінці index.php виконується тільки введення імені і пароля адміністратора, обробка введених даних здійснюється на сторінці adminpage.php
Код для авторизації адміністратора може мати наступний вигляд:
<? session_start();
$adminlogin=$_POST[‘login’];
$adminpsw=$_POST[‘password’];
include "utils/topadmin.php";
…
$dostup=false;
//відбір даних про адміністратора БД
$query=”SELECT FROM users WHERE login=’”.$adminlogin.”’ AND password=’”.$adminpsw.”’”;
$rowsnum=$mysql_num_rows($query);
if ($rowsnnum==1)
$res=mysql_fetch_array($query);
if($res[‘usertype’]==”admin”)
$dostup=true;
If(!$dostup)
echo “ У вас немає прав для входу на цю сторінку ”
else
{
$_SESSION[‘adminlogin’]=$adminlogin;
$_SESSION[‘adminpsw’]=$adminpsw;
$_SESSION[‘admintype’]=$res[‘usertype’];
Код сторінки adminpage.php}
include "utils/bottomadmin.php";
Сторінки index.php і adminpage.php забезпечили авторизацію адміністратора, його допуск до сторінок адміністрування і збереження характеристик адміністратора в глобальному масиві $ _SESSION [].
15.2.4 Відкриття списку користувачів.
Після входу на сторінку адміністрування (adminpage.php) адміністратору стало е посилання на сторінку зі списком користувачів (users / index.php). При переході по цьому посиланню виконується код, що зберігається в файлі users / index.php. Цей код повинен забезпечити знову авторизацію адміністратора, щоб стороння людина не змогла відкрити сторінку, знаючи її ім'я.
Якщо адміністратор авторизований, то код повинен сформувати і відобразити список користувачів і інструменти для обробки цього списку.
Завдання авторизації вирішується також як в файлі adminpage.php? тільки дані беруться не з масиву $ _POST [], а з масиву $ _SESSION []:
<? session_start();
$adminlogin=$_SESSION[‘adminlogin’];
$adminpsw=$_SESSION[‘adminpsw’];
include "../utils/topadmin.php";
…
$dostup=false;
// відбір даних про адміністратора з БД
$query=”SELECT FROM users WHERE login=’”.$adminlogin.”’ AND password=’”.$adminpsw.”’”;
$rowsnum=$mysql_num_rows($query);
if ($rowsnnum==1)
$res=mysql_fetch_array($query);
if($res[‘usertype’]==”admin”)
$dostup=true;
Ця частина коду буде однакова для всіх сторінок адміністрування, тому можна оформити її у вигляді файлу dostup.php, зберегти цей файл у каталозі admin і підключати його до потрібних сторінок. У цьому випадку код сторінки зі списком користувачів матиме вигляд:
<? include “../dostup.php”
If(!$dostup)
echo “ У вас немає прав для входу на цю сторінку"
else
{//формуємо список користувачів
<span>Список користувачів<span>
// Формуємо SQL-запит на вибірку даних користувача
$query = "SELECT * FROM users ORDER BY user_id;
// Виконуємо SQL-запит
$res = mysql_query($query);
// Зупиняємо виконання скрипта, якщо відбувається помилка при
// виконанні SQL-запиту
if(!$res) echo("Помилка при зверненні до списку користувачів");
if (mysql_num_rows($res)>0)
{
?>
<table border="1">
<tr>
<td>user_ID</td>
<td>Пользователь</td>
<td>Адреса</td>
<td>Телефон</td>
<td>E-mail</td>
<td>Login</td>
<td>Password</td>
<td>usertype</td>
<td> Дія </td>
</tr>
<?
while($users = mysql_fetch_array($art))
{
echo "<tr>
<td>".$users['user_id']."</td>
<td>".$users['userName']."</td>
<td>".$users['userAddress']."</td>
<td>".$users['userPhone']."</td>
<td>".$users['userEmail']."</td>
<td>".$users['Login']."</td>
<td>".$users['Password']."</td>
<td>".$users['usertype']."</td>
<td><a href=edituserform.php?user_id=".$users['user_id'].
"> Редагувати </a><br>
<a href=deluser.php?user_id=".$users['user_id'].
"> Видалити </a><br>
</tr>";
}
echo "</table>";
}
include “../util/bottomadmin.php”;
В результаті виконання вищенаведеного коду в браузері буде відображатися таблиця зі списком користувачів, в останньому стовпці цієї таблиці в кожному рядку будуть відображатися гіперпосилання з текстом «Редагувати» і «Видалити», які здійснюють перехід на файли edituserform.php і deluser.php відповідно із зазначенням ідентифікатора користувача, що дозволить в цих файлах проводити обробку обратного запису.
