StemAr
STEM • Engineering • Robotics

Практический STEM‑сайт нового уровня

Я переделал логику проекта в нормальный формат: отдельная авторизация, регистрация пользователей, личный кабинет, полноценная админ-панель и база MySQL. Без редактирования контента прямо на странице и без хранения важных данных в JSON.

PHP + MySQL Подготовлено под нормальный хостинг
Roles: user / admin Права доступа разделены корректно
Безопаснее Prepared statements, password_hash, CSRF
Готовый стек

Что теперь есть в проекте

  • Регистрация пользователя по имени, email и паролю
  • Вход в аккаунт и корректная работа с сессиями
  • Личный кабинет пользователя
  • Отдельная админ-панель
  • Список пользователей и сообщений
  • SQL-файл для создания базы данных
Направления

Страницы и блоки сайта

Я сохранил STEM-направление сайта, но убрал слабую архитектуру. Теперь проект состоит из отдельных страниц, каждая решает конкретную задачу.

01

Главная страница

Красивый лендинг с секциями, CTA-блоками, контактной формой и адаптивным дизайном.

02

Регистрация и вход

Отдельные страницы с валидацией, хешированием паролей и защитой от повторных email.

03

Кабинет пользователя

Пользователь видит свои данные, дату регистрации и может безопасно сменить пароль.

04

Админ-панель

Админ видит статистику, список пользователей, может менять роли, статусы и читать сообщения.

Преимущества

Что улучшилось по сравнению со старой версией

Старый сайт был похож на демо-лендинг с фронтовой админкой. Новая версия ближе к реальному веб-проекту, который можно поставить на обычный PHP-хостинг.

Нормальная структура

Файлы разделены на includes, assets, публичные страницы и SQL-схему базы данных.

Настоящая база

Пользователи и сообщения хранятся в MySQL, а не в content.json и content_blocks.json.

Роли и безопасность

Есть user/admin, проверка сессии, password_hash/password_verify, CSRF и prepared statements.

Как это работает

Поток для обычного пользователя и администратора

После установки базы и настройки config.php сайт уже готов к работе.

01

Пользователь регистрируется

Система проверяет email, хеширует пароль и создаёт запись в таблице users.

02

Пользователь входит в кабинет

После входа доступны данные профиля и форма смены пароля.

03

Администратор управляет сайтом

В админке можно просматривать пользователей, менять роли и читать сообщения из формы.

04

Все данные лежат в MySQL

Это уже нормальная база для сайта, а не набор JSON-файлов в корне проекта.

Запуск

Нужна быстрая установка?

Импортируй database.sql, укажи свои данные MySQL в includes/config.php и загрузи файлы на хостинг.

Связь

Контактная форма уже подключена к базе

Сообщения из формы записываются в таблицу contact_messages. Администратор видит их в панели управления.

Email hello@stemar.local
Telegram @stemar_school
Формат PHP 8+, MySQL 8+, адаптивная вёрстка

Оставить сообщение