а має три видимих ??поля: form [login], form [password1] і form [password2]. При написанні програми використовувалася особлива техніка іменування полів, оскільки РНР перетворює імена і відповідні їм значення в один асоціативний масив під назвою $ form. Даний прийом використано для того, щоб у майбутньому не виникло проблем з більшістю схожих імен. Всі змінні сесії зберігаються в масиві під назвою $ session, а змінні форми - в масиві $ form. Це допомагає впорядкувати програму. Крім того, варто зводити кількість глобальних змінних до мінімуму для уникнення конфліктів імен, що може трапитися в проекті такого розміру. Масив $ form буде зустрічатися в кожній програмі, де є форми. У програмі також був створений прихований елемент під назвою actionflag і ще один, який містить імена і значення змінних сесії. Протягом проекту від сторінки до сторінки постійно передається ID сесії, що не дозволяє втратити клієнтів, які не використовують cookies.
Після створення цієї HTML-форми, необхідно створити частина програми, яка перевіряє коректність введення. Відбувається перевірка заповнення користувачем усіх полів, також того, чи не містять ці поля більше восьми символів. Потім викликається нова функцію під назвою getRow (), яка є однією з функцій, що входять в файл dblib.inc. Цій функції передається ім'я таблиці, ім'я поля і значення поля. Ці значення використовуються даною функцією для пошуку відповідного рядка в базі даних. Функція getRow () повертає масив.
function getRow ($ table, $ fnm, $ fval)
{
global $ lik;
$ result=mysql_query (
«SELECT * FROM $ table WHERE $ fnm =« $ fval »», $ link);
if (! $ result) («Фатальна помилка при виконанні функції getRow:». mysql_error ());
return mysql_fetch_array ($ result);
}
Функції передається ім'я таблиці clubs та ім'я поля login, а також значення, передане нам користувачем в $ form [login]. Якщо функція mysql_fetch_array [login] повертає заповнений масив, то стає зрозуміло, що користувач з таким ім'ям вже існує, і тому складається повідомлення про помилку. Якщо змінна $ message все ще містить порожній рядок, можна продовжувати виконання програми і створювати нового користувача. Створення запису нового користувача ділиться на два етапи. По-перше, доповнюється база даних. Для цього створюється нова функція для файлу dblib.inc під назвою newUser ():
function newUser ($ login, $ pass)
{$ link;
$ result=mysql_query («INSERT INTO clubs (login, password) VALUES (« $ login »,« $ pass »)», $ link); mysql_insert_id ($ link);
}
Цією функції передається ім'я і пароль нового користувача. Дані значення застосовуються для додавання нового рядка в таблицю clubs. Ця функція використовує функцію mysql_insert_id () для того, щоб автоматично інкрементіровать ідентифікатор поля.
Тепер, коли є значення ідентифікатора, можна викликати ще одну функцію з вже створеної бібліотеки. cleanMemeberSession () повинна знаходитися у файлі dblib.inc. Цієї функції передається ідентифікатор, ім'я члена і пароль. Після того як cleanMemeberSession () збереже всі ці дані в масиві $ session, вони бу...