о користувач переслав форму, обрані їм налаштування повинні мати пріоритетне значення перед раніше збереженими. Раніше реєструвався асоціативний масив у сесії користувача для збереження імені та пароля користувача. Тепер до нього додаються нові елементи до того ж масиву, який буде зберігати налаштування користувача.
Змінна $ session була зареєстрована у сесії користувача, як тільки ми включили бібліотеку clublib.inc.
session_start (); _register («session»);
Тепер змінна $ session перетворюється на багатовимірний масив, що відбувається завдяки запису останньої в елемент $ session [viewevents]. При цьому зберігається структура налаштувань і дані змінні приписуються до цієї сторінки. Тут користувач може вибрати такі параметри, як тип (транспорт або вантаж), країна завантаження, країна розвантаження, день, місяць і рік. Зберігається інформація, переслав користувачем, у відповідні елементи масиву $ session [viewevents].
Якщо користувач не переслав даних, це може означати, що він зробив це раніше. У такому випадку масив $ session [viewevents] існуватиме, проте змінна $ actionflag не буде встановлена ??в. Якщо це так, в масив $ form записуються ті ж значення. Таким чином, у формі точно будуть представлені правильні значення.
Якщо користувач не переслав екранну форму і елемент $ session [viewevents] порожній, тоді потрібно створити масив, що містить значення за замовчуванням. Функція getDate () використовується для створення масиву дат. Цей масив застосовується для запису в елемент session [viewevents] [day] поточного дня місяця, $ session [viewevents] [month] поточного місяця і в елемент $ session [viewevents] [year] поточного року.
Тепер точно відомо, що вищевказані два елементи містять коректний день, місяць і рік. Ці значення можна потім змінювати, використавши інформацію, переслану у формі, або інформацію з змінних сесії. Дані значення функції передаються з бібліотеки date.inc під назвою getDateRange (). Дана функція приймає номера дня, місяця та року, а також повертає масив, сост?? Ящий з двох значень абсолютного часу, що відповідають початку і кінця дня.
function getDateRange ($ mon, $ day, $ year)
{
$ start=mktime (0, 0, 0, $ mon, $ day, $ year);
$ end=mktime (0, 0, 0, $ mon +, $ day +1, $ year);
$ end -; array ($ start, $ end);
}
Повернений цією функцією масив зберігається в глобальній змінній під назвою $ range.
Далі створюється функція displayEvents (), яка буде виводити короткий зміст пропозиції у вікно браузера. Ця функція буде викликатися з тіла HTML-документа [4].
Для отримання масиву з короткими описами пропозицій викликається функція getEvents (), яка знаходиться в бібліотеці dblib.inc.
function getEvents ($ club_id=0, $ range=0, $ gort=0, $ frcountry=0, $ tocountry=0)
{$ link;
$ query=«SELECT clubs.name, events. *,. gort as gortname,. frcountry as frcountryname,. tocountry as tocountryname»;
$ query.=«FROM clubs, events, gorts, frcountrys, tocountrys WHERE»;
$ query.=&l...