Необходимо на php+mysql создать четыре модуля
Необходимо на php+mysql создать четыре модуля, первые два из которых будут вызываться с сайта каждый по своей кнопке.
Модуль №1 представляет собой форму поиска, дизайн которой будет несложно поменять (использует фоновые изображения, и прочее, чтобы соответствовать дизайну основного сайта). При вызове этого модуля пользователю выдается форма с числом полей, которое задается в установочном конфигурационном файле (см. в описании модуля №2) Пользователь вводит данные как минимум в одно, либо в несколько полей. Перед нажатием кнопки «поиск» размещенной на этой форме, пользователь вводит символы отображаемой капчи (встроена в виде модуля). Капча среднего уровня сложности, с достаточно разборчивым, но не совсем простыми символами. При нажатии кнопки «поиск», форма проверяет корректность данных в полях, а также на недопустимость служебного кода (каких-либо SQL инъекций и прочего хака) и осуществляется поиск в базе SQL.
Результат поиска отображается в новой форме, эта форма закрывается. В результатах поиска указано содержание полей поиска и визуализированная в виде thumbnail ссылка-интернет ресурса, кликнув по которой в новом окне пользователь перейдет к просмотру. В нижней части формы есть две кнопки «еще поиск» при нажатии которой вновь активируется модуль №1 и кнопка «добавить» активирующая модуль №2.
Модуль №2 представляет собой форму ввода данных, дизайн которой будет несложно поменять (использует фоновые изображения, и прочее, чтобы соответствовать дизайну основного сайта). При вызове этого модуля пользователю выдается форма с числом полей, которое задается один раз в установочном конфигурационном файле и далее не меняется. В этом файле перечислены наименования полей, их типы и ограничения на данные, добавляемые в каждое поле на синтаксисе php. По своей сути файл определяет структуру таблиц базы данных mysql.
Примечание: количество полей до 20. Поля для ввода символов (из перечисленного в конфигурационном файле набора,- цифры, кириллица и латинские). Поля для ввода текстов (ограничения по длине 65536 знаков), Поля для ввода е-mail, Поля для ввода ссылок на Интернет ресурсы (например youtube или picasa) c обязательной проверкой хотя бы по URL, что если поле задано в конфигурационном файле для ввода ссылки на youtube, то не вводится ссылка на какой-либо другой сайт.
Перед нажатием кнопки «отправить» размещенной на этой форме, пользователь вводит символы отображаемой капчи (встроена в виде модуля). Капча среднего уровня сложности, с достаточно разборчивым, но не совсем простыми символами. При нажатии кнопки «отправить», форма проверяет корректность данных в полях и отправляет служебную ссылку (сгенерированную с индивидуальным кодом) на e-mail указанный в поле формы и сообщает об этом пользователю. Данные проверяются на недопустимость служебного кода (каких-либо SQL инъекций и прочего хака) и добавляются в базу SQL, но не становятся доступными к поиску пока пользователь не перейдет по ссылке из своего письма в почте.
Модуль №3 вызывается из URL и осуществляет проверку (может быть контрольной суммы) данных ссылки по которой пользователь перешел из своей почты и делает доступными введенные им но «замороженные для поиска» данные в базе SQL.
Модуль №4 вызывается из URL и является модулем администрирования, при входе запрашивает пароль администратора (хранится, например, в конфигурационном файле с различием регистра символов) который предоставляет администратору осуществлять поиск по одному или нескольким полям базы данных (как в модуле №1) и редактировать каждое из этих полей с сохранением результата.
Примечание: Все модули содержат комментарии и отчетливо выделенные переменные, которые можно легко найти в тексте и редактировать непрофессионалу
(например: $name= …… / поле ввода ссылки на Интернет ресурс).
Модули оптимизированы для уменьшения нагрузки к базе SQL и для увеличения быстродействия.