Project - ссылка на хост с проектом.
Главная страница является формой обратной связи c валидацией полей.
На странице: Имя, E-mail, текст сообщения, кнопка "Отправить", а под ней все оставленные отзывы.
Сортировка по дате, последние наверху.
Особенности:
- К отзыву можно прикрепить картинку.
При попытке залить изображение большого размера оно пропорционально уменьшается до 320х240 пикселей. Допустимые форматы: JPG, GIF, PNG; - Есть кнопка "предварительный просмотр - preview" рядом с кнопкой "отправить - submit", которая работает без перезагрузки страницы;
- Сделан отдельный вход для администратора (логин: "admin", пароль: 12345). Администратор имеет возможность удалять или утверждать отзыв;
- При корректном вводе пароля и логина происходит авторизация с помощью сессии. Имеется возможность удаления сессии через кнопку "log out".
- На странице администратора показаны отзывы с миниатюрами картинок и их статусы (checked/unchecked).
Отзыв становится видимым для всех только после принятия админом. Отклоненные отзывы остаются в базе, но не показываются обычным пользователям. - Администратор может редактировать отзывы. Редактированные отзывы помечены "Changed by Admin".
Главные файлы:
- index.php - главная форма для добавления отзыва;
- reviews.php - подключаемый список отзывов;
- admin.php - форма для администратора;
- admin_reviews.php - список отзывов с модерированием;
- admin_edit.php - редактирование отзыва;
- logout.php - удаление сессии.
В папке modules блоки кода:
- db.php - класс базы данных;
- db_connect.php - подключение к БД;
- image.php - класс для работы с картинкой;
- form_process.php - обработка формы;
- submit_process.php - обработка post-запросов администратора;
- user_validator.php - класс для валидации формы.
В папке scripts блоки кода:
- preview.js - скрипт для предосмотра отзыва.
В папке images аватары пользователей:
- В эту папку сохраняются аватары, а в БД отправляются пути к ним и их названия.