Добавление новой темы на форум (add.php) осуществляется в 2 шага.
шаг. Выводится какой тип темы пользователь хочет создать, либо обычный топик, либо опрос.
шаг. После выбора типа тема, пользователь начинает вводить необходимые данные, в зависимости какой тип темы он выбрал. Например, для опроса добавляются новые необходимые поля: поля для ввода вариантов ответа.
Страница просмотра темы на форуме
Чтобы открыть данную страницу (theam.php) необходимо предать методом GET 1 необходимый параметр post, данный параметр говорит модулю информацию о какой странице выводить.
Далее при открытии этой страницы из БД вытаскивает тип темы и если тип оказывается interview, то после заголовка и описания темы выводится опрос темы. Если поле multy равен true, то выводиться будет опрос с возможность множественного выбора, иначе будет выводиться опрос 1 вариантом ответа.
Далее из таблицы `mess` вытаскиваются все сообщения и выводятся списком.
После вывода сообщений, если пользователь зарегистрирован, выводится панель для отправления сообщения на форуме.
Отправление сообщений, так же как регистрация осуществляется с помощью технологии AJAX на скрипт php/addmess.php. Данный скрипт в случаи успешного добавления нового сообщения возвращает страницу, на которой будет выводиться это сообщение. Если эта страница не совпадает с текущей, то происходит редирект на полученную страницу, так же с помощью AJAX осуществляется вывод сообщений на текущую страницу.
Если же скрипт не смог добавить сообщение в БД, то возвращается HTML ошибки, который выводится в сообщении.
Так же в момент открытия страницы начинается рекурсивный процесс отправок AJAX запросов на скрипт php/newmess.php. Данный скрипт возращает 0 - если на данной странице нет ни одного нового сообщения. Или же возвращает N - кол-во новых сообщений и в нижнем правом углу появляется сообщение "Добавлено N новых сообщений".
|
Если текущая страница совпадает со страницей нового сообщения, то при нажатии на это сообщение средствами AJAX будет выведены все новые сообщения. В противном случае, произойдет редирект на страницу с новым сообщением и браузер автоматически, если это необходимо, прокрутит scroll именно к этому сообщению.
Страница поиска
На страницу поиска (search.php) можно попасть из любой страницы сайта, чтобы прейти на эту страницу, необходимо просто в шапке сайта ввести запрос поиска.
Поиск на сайте осуществляется с помощью ключевого слова в LIKE в SQL запросе. Поиск идёт по всем форумам на сайте.
Страница пользователя
Чтобы попасть нас страницу пользователя необходимо в мотодом GET передать параметр id. Данный параметр говорит модуль (user.php) информацию, о каком пользователе выводить.
Данная страница, если пользователь не авторизован, выводит количество сообщений, кол-во созданных тем, список этих тем, последнее сообщение, отправленное пользователем и т. д.
Но, если пользователь авторизован и id совпадает с уникальным идентификатором пользователя, то данный модуль выводит так же настройки для профиля. Эти настройки содержат: изменение пароля, изменение почтового ящика, возможность удаления или загрузки изображения, а также можно изменить количество выводимых тем на страницу.
При изменении почтового ящику, на оба почтовых ящика отправляются 2 письма на 2 разных ящика с уникальными ссылками, пройдя по которым, почтовый ящик изменится. При изменении пароля, необходимо будет ввести старый пароль и новый. После ввода, пройдет проверка на правильно и если результат будет успешным, то пароль изменится.
|
Страница восстановления пароля
Бывают ситуации, когда пользователь забывают свои пароли и их нужно восстанавливать. Именно эту функцию выполняет модуль по восстановлению пароля (restore.php). Так как пароль пользователя хешируется с помощью функции md5, просто отправить пользователю пароль не получится. Поэтому пользователю создается ссылка и отправляется ему на почтовый ящик. Пройдя по этой ссылке, модуль генерирует случайное число от 100000 до 999999, что и будет являться новым паролем пользователя. Далее это случайное число записывается в базу и выводится пользователю.
Заключение
В результате выполнения работы были получены навыки разработки в проектировании и разработки WEB - приложений, а именно в написании сайта.
Областью применения данной курсовой работы могут являться задачи обеспечения общения пользователей между компьютерами по сети Интернет.