|
Показывай грамотно! Никита "red_ion" Кислицин Xakep, номер #054, стр. 054-090-2 Интерфейс Сейчас же следует обговорить интерфейс рекламодателя и описать функции по взаимодействию с ним. Процедуру аутентификации мы позаимствуем из статьи "Система контент-менеджмента". В результате чего останется описать следующие функции: addbanner(tid, oid, shows, src, link); editbanner(bid, shows, src, link); delbanner(bid); edituser(login, password, name, organisation, telephone, email, address). Функция addbanner будет использовать библиотеку Бутелла, предоставляющую целый набор API для работы с графическими файлами. Поддерживается как создание новых, так и модификация уже существующих изображений. Нам же понадобится лишь одна функция GetImageSize(filename), возвращающая размеры изображения. Эта библиотека обычно уже входит в поставку php, так что проблем с ее использованием возникнуть не должно. Но прежде чем что-либо проверять, надо это "что-то" загрузить на сервер. Загружать изображения клиент будет через обычную форму (напомню, что среди объектов, которые могут быть отправлены post-запросом, есть и файл - это поле вставляется в хтмл-документ тегом <input type=file name=filename>). Первым делом нам следует проверить соответствие картинки параметрам, определенным в таблице types для баннеров этого типа. Ведь если пользователь вставит мастодонта размером 468*60 в узенькую таблицу, рассчитанную на кнопку размером 81*33, ничем хорошим это не закончится. В случае, когда загружаемое изображение соответствует стандарту, мы добавляем в таблицу с баннерами соответствующую запись, после чего реклама начинает отображаться посетителям сайта. Функция editbanner выполняет аналогичные проверки, после чего модифицирует запись в таблице. Остальные же процедуры довольно банальны и особого интереса не представляют. Функции администрирования системы, т.е. управление рекламодателями, абсолютно идентичны уже описанным процедурам работы с базами данных, которых мы наделали больше чем достаточно. Так что ты и сам можешь их описать: добавление, модификация и удаление пользователя, аналогичные функции по работе с баннерами пользователя. Особое внимание следует уделить безопасности, потому как в этом проекте ты уже имеешь дело с деньгами, а это серьезно :). Надо проверять все действия клиента, тщательно выписать процедуру проверки наличия денег на его счету и вообще все процедуры, работающие с базой данных. Ведь при помощи изощренного sql-injecting'а злоумышленник может натворить совсем мерзкие гадости :/. Код системы ты найдешь на cd и моем сайте, там же находятся все предыдущие статьи. Это на случай, если ты что-то не читал. Функция добавления баннера function addbannerform() { echo"<form action=\"index.php\" method=post enctype=\"multipart/form-data\"> |