Введение

Что это за продукт и кому он подходит

Что это

«Сайт автоподбора» — готовое решение для компаний, которые занимаются подбором и доставкой автомобилей из Японии, Кореи и Китая.

Сайт включает: презентацию услуг, каталог автомобилей, форму сбора заявок, личный кабинет клиента и админ-панель для управления.

Технологии

КомпонентТехнология
FrontendHTML5, CSS3, JavaScript (Vanilla)
BackendPHP 7.4+
База данныхMySQL 5.7+ / MariaDB
СтилиMontserrat (Google Fonts)
ИконкиFont Awesome 6
ХостингЛюбой с PHP + MySQL (рекомендуется Beget, Timeweb)

Что входит в комплект

  • ✅ 8 HTML-страниц (главная, каталог, аукционы, статистика, One Price, личный кабинет, админка, гайд)
  • ✅ Система верификации (регистрация, вход, выход)
  • ✅ Личный кабинет клиента
  • ✅ Админ-панель
  • ✅ Сбор заявок (в БД + email)
  • ✅ Каталог автомобилей
  • ✅ Калькулятор доставки (170+ городов)
  • ✅ SEO-оптимизация
  • ✅ Адаптив под мобильные
  • ✅ PWA-манифест (устанавливается как приложение)

Кому подходит

  • 🚗 Автоподборщикам (от новичков до крупных компаний)
  • 🚙 Дилерским центрам
  • 🚚 Логистическим компаниям
  • 🏢 Смежным услугам (автосервисы, страховые)
💡 Главное преимущество: сайт работает «из коробки». Не нужен программист для базовых задач — всё управляется через админку и простые текстовые файлы.

Карта файлов

Что где лежит и что можно менять

📄 HTML-страницы

index.html 🔴 Критичная
Главная страница — презентация услуг, каталог, формы, контакты
Можно менять:Тексты, контакты, логотип, цвета, города/цены доставки
Нельзя:Подключение скриптов, структуру форм, ID элементов
auctions.html 🔴 Критичная
Аукционы онлайн — лоты с японских аукционов, фильтры, модал лота
Можно менять:Тексты, контакты
Нельзя:API_BASE, структуру фильтров
stats.html 🔴 Критичная
Статистика продаж — реальные цены проданных авто
Можно менять:Тексты
Нельзя:Структуру фильтров, ID элементов
one-price.html 🔴 Критичная
One Price — авто с фиксированной ценой
Можно менять:Тексты, контакты
Нельзя:ID элементов
account.html 🔴 Критичная
Личный кабинет — данные, менеджер, заявки
Можно менять:Контакты менеджера
Нельзя:ID элементов, логику загрузки
admin.html 🔴 Критичная
Админ-панель — управление заявками и пользователями
Можно менять:Цвета, тексты
Нельзя:ID, логику авторизации
auction-guide.html 🟡 Средняя
Полезная информация — гайд по аукционам (открытая страница)
Можно менять:Всё содержимое
thanks.html 🟢 Низкая
Страница «Спасибо за заявку»
Можно менять:Ссылки на мессенджеры, телефон, тексты

🔐 PHP — авторизация

ФайлНазначениеВажность
db.phpПодключение к БД, автосоздание таблиц🔴
register.phpРегистрация🔴
login.phpВход🔴
logout.phpВыход🔴
check-auth.phpПроверка сессии🔴
get-user.phpДанные пользователя🔴
get-requests.phpЗаявки пользователя🔴
save-request.phpСохранение заявок (БД + email)🔴

🔧 PHP — админка

ФайлНазначениеВажность
admin-config.phpЛогин + хеш пароля админа🔴
admin-login.phpВход в админку (защита от брутфорса)🔴
admin-logout.phpВыход из админки🔴
admin-check.phpПроверка админа🔴
admin-get.phpДанные для админки🔴
admin-action.phpУдаление, обработка🔴

⚙️ PHP — служебные

ФайлНазначениеВажность
send.phpОтправка email (старые формы)🟡
proxy.phpПрокси к API аукционов🔴
calculator_proxy.phpПрокси калькулятора🔴
api-proxy.phpОбщий прокси🟡
get-catalog.phpСписок папок каталога🔴
get-images.phpИзображения из папки🟡
get-reviews-images.phpИзображения отзывов🟡
get-videos.phpСписок видео🟡
save-rates.phpСохранение курсов ЦБ🟡
sitemap-generator.phpГенератор sitemap.xml🟢
ipПоказ IP сервера (удалить)🟢
sitePWA-манифест🟡

📁 Папки

ПапкаЧто внутриМожно менять
/catalog/Авто: info.txt + 4 фото✅ Добавлять новые
/bought/Фото купленных✅ Добавлять
/reviews/Фото отзывов✅ Добавлять
/video/Видео + прелоадер✅ Менять
/images/Лого, карта, фото✅ Заменить под клиента
/cache/Кэш API✅ Чистить
/cgi-bin/Служебная хостинга❌ Не трогать

🔍 SEO и метаданные

ФайлНазначение
sitemap.xmlКарта сайта для поисковиков
robots.txtПравила индексации
google*.htmlВерификация Google
yandex*.htmlВерификация Яндекс
favicon.icoИконка сайта
apple-touch-icon.pngИконка для iOS
og-image.jpgПревью для мессенджеров
web-app-manifest-*.pngИконки PWA

Структура БД

Таблицы, поля, связи

Таблица users — пользователи

ПолеТипНазначение
idINT AUTO_INCREMENTУникальный ID
nameVARCHAR(100)Имя пользователя
phoneVARCHAR(20) UNIQUEТелефон (только цифры)
emailVARCHAR(255)Email (для сброса пароля)
password_hashVARCHAR(255)Хеш пароля (bcrypt)
is_adminTINYINT(1)0 — юзер, 1 — админ
reset_tokenVARCHAR(64)Токен для сброса пароля
reset_expiresDATETIMEСрок действия токена
created_atTIMESTAMPДата регистрации
last_loginTIMESTAMP NULLПоследний вход

Таблица requests — заявки

ПолеТипНазначение
idINT AUTO_INCREMENTУникальный ID
user_idINTID пользователя (связь с users.id)
subjectVARCHAR(255)Тема (откуда заявка)
autoVARCHAR(255)Авто (какое интересует)
messageTEXTСообщение от клиента
statusVARCHAR(20)new / processed
created_atTIMESTAMPДата заявки
💡 Важно: таблицы создаются автоматически при первом заходе на сайт. Вам не нужно создавать их вручную.

Развёртывание

Пошаговая инструкция — как развернуть сайт на новом хостинге

Шаг 1: Регистрация на хостинге

Рекомендуемые хостинги:

  • Beget — от 200 ₽/мес, простой, PHP + MySQL
  • Timeweb — от 200 ₽/мес, быстрый
  • REG.RU — от 250 ₽/мес

Выберите тариф с PHP 7.4+ и MySQL.

Шаг 2: Создание базы данных

  1. Войдите в панель управления хостингом
  2. Раздел «MySQL» или «Базы данных»
  3. Создайте новую БД (например, sitename_users)
  4. Создайте пользователя БД, задайте пароль
  5. Привяжите пользователя к БД с полными правами
  6. Запишите 4 значения:
    • Хост (обычно localhost)
    • Имя БД
    • Имя пользователя
    • Пароль

Шаг 3: Загрузка файлов

  1. Откройте файловый менеджер хостинга (или FTP)
  2. Зайдите в папку public_html (или www)
  3. Загрузите все файлы сайта в эту папку
  4. Проверьте, что index.html находится в корне

Шаг 4: Настройка подключения к БД

Откройте файл db.php и замените 4 строки:

$host   = 'localhost';           // ваш хост
$dbname = 'sitename_users';      // имя БД
$dbuser = 'sitename_users';      // пользователь БД
$dbpass = 'ваш_пароль';          // пароль БД

Сохраните файл.

Шаг 5: Настройка домена

  1. В панели хостинга → раздел «Домены»
  2. Привяжите ваш домен к хостингу
  3. Настройте SSL-сертификат (бесплатный Let's Encrypt)
  4. Дождитесь активации (5–30 минут)

Шаг 6: Проверка

  1. Откройте https://ваш-домен.ru/ — должна открыться главная
  2. Откройте https://ваш-домен.ru/check-auth.php — должно показать {"authorized":false}
  3. Попробуйте зарегистрироваться — должно работать
  4. Откройте https://ваш-домен.ru/admin.html — должна открыться админка (потребует вход)
✅ Готово! Сайт развёрнут. Теперь замените плейсхолдеры (см. следующий раздел).

Плейсхолдеры

Что заменить под нового клиента

В файлах сайта есть специальные метки (плейсхолдеры). Их нужно заменить на данные клиента.

ПлейсхолдерЧто заменитьГде искать
{{SITE_NAME}}Название компанииВсе HTML
{{PHONE}}ТелефонВсе HTML
{{PHONE_2}}Второй телефонВсе HTML
{{EMAIL}}EmailВсе HTML
{{TELEGRAM}}Ссылка на TelegramВсе HTML
{{MAX}}Ссылка на MAXВсе HTML
{{ADDRESS}}Адресindex.html, footer
{{LOGO}}Путь к логотипуВсе HTML
{{DOMAIN}}Домен сайтаSEO-теги, sitemap

Как заменять

  1. Откройте файл в текстовом редакторе (Notepad++, VS Code)
  2. Нажмите Ctrl+H (поиск и замена)
  3. Введите плейсхолдер (например, {{PHONE}})
  4. Введите значение (например, +7 999 123-45-67)
  5. Нажмите «Заменить всё»

Что ещё заменить

  • Логотип — заменить файл /images/logo2.jpg
  • og-image.jpg — картинка для соцсетей (1200×630)
  • favicon.ico — иконка сайта
  • PWA-манифест (файл site) — название компании, цвета
  • Данные БД в db.php — хост, имя, пароль
  • Токен API в proxy.php — если есть свой
⚠️ Важно: после замены плейсхолдеров проверьте все страницы — не осталось ли где-то старых данных.

Как пользоваться

Инструкция для клиента — что и как делать

📞 Как заходить в админку

Два способа:

  1. Через свой аккаунт: зарегистрируйтесь, потом в личном кабинете появится кнопка «Админ-панель» (если ваш аккаунт помечен как админ)
  2. Через логин/пароль: откройте https://ваш-домен.ru/admin.html → введите логин и пароль из admin-config.php

🚗 Как добавить авто в каталог

  1. Откройте файловый менеджер хостинга
  2. Зайдите в папку /catalog/
  3. Создайте новую папку с названием авто (например, Toyota-Camry-2020)
  4. Загрузите 4 фото: 1.jpg, 2.jpg, 3.jpg, 4.jpg
  5. Создайте файл info.txt со содержимым:
Марка: Toyota
Модель: Camry
Год: 2020
Двигатель: 2.5
Пробег: 45000
Цена: 2180000
Страна: japan
Плашка: Хит продаж

Сохраните. Авто автоматически появится на сайте.

💰 Как менять цены

Откройте info.txt нужного авто → измените поле Цена → сохраните.

📋 Как отвечать на заявки

  1. Заходите в админку
  2. Раздел «Заявки»
  3. Видите список новых заявок
  4. Нажмите «Позвонить» или «Telegram»
  5. После обработки — «Обработано»

👥 Как управлять пользователями

  1. Админка → раздел «Пользователи»
  2. Видите всех зарегистрированных
  3. Можете позвонить, написать в Telegram, удалить

🔐 Как поменять пароль от админки

  1. Создайте файл make-hash.php с содержимым:
<?php echo password_hash('НОВЫЙ_ПАРОЛЬ', PASSWORD_DEFAULT); ?>
  1. Откройте его в браузере — получите хеш
  2. Скопируйте хеш в admin-config.php → ADMIN_PASSWORD_HASH
  3. Удалите make-hash.php

Что нельзя удалять

Важные файлы и опасные операции

❌ НИКОГДА не удаляйте:
  • db.php — сайт перестанет работать полностью
  • proxy.php — перестанут работать аукционы
  • register.php, login.php — сломается регистрация
  • save-request.php — заявки перестанут сохраняться
  • Папку /catalog/ — исчезнут все авто
  • Папку /images/ — исчезнут логотип и картинки

Опасные операции

  • Менять структуру таблиц БД — может сломать регистрацию и заявки
  • Удалять поля из БД — потеряются данные
  • Менять .htaccess — можно сломать редиректы
  • Удалять robots.txt или sitemap.xml — пострадает SEO

Безопасность

⚠️ Обязательно:
  • Удалите make-hash.php после использования
  • Удалите все test-*.php (если есть)
  • Не давайте доступ к админке посторонним
  • Регулярно делайте бэкап БД (раз в неделю)

FAQ

Частые вопросы

❓ Сайт не открывается после загрузки

Причина: неверные данные БД в db.php.

Решение: проверьте 4 строки подключения. Если не работает — свяжитесь с хостингом.

❓ Заявки не сохраняются

Причина: таблица requests не создана.

Решение: откройте главную — таблица создастся автоматически. Если не работает — проверьте права пользователя БД.

❓ Регистрация не работает

Причина: таблица users не создана или ошибка в register.php.

Решение: откройте /check-auth.php — если работает, БД ок. Проверьте консоль браузера на ошибки.

❓ Аукционы не загружаются

Причина: токен API истёк или изменился адрес.

Решение: проверьте proxy.php — токен и URL API.

❓ Как добавить новую страницу?

Решение: создайте .html файл в корне, добавьте в меню. Потом запустите /sitemap-generator.php — она попадёт в sitemap.

❓ Как поменять цвет сайта?

Решение: в CSS-файле (или в <style>) найдите --accent: #3a7ca5; — замените на свой цвет.

❓ Как очистить кэш?

Решение: удалите содержимое папок /cache/ и /cache_auctions/. Сайт создаст новый.

❓ Клиенты не получают письма

Причина: функция mail() отключена на хостинге.

Решение: обратитесь в поддержку хостинга. Или заявки сохраняются в БД — их можно видеть в админке.

Техподдержка

Куда обращаться

📞 Контакты техподдержки:

Email: support@example.com
Telegram: @your_support
Время работы: Пн–Пт, 10:00–19:00 (МСК)

Что входит в поддержку

  • ✅ Консультации по работе с сайтом
  • ✅ Помощь с настройкой
  • ✅ Исправление ошибок (баги)
  • ✅ Обновления безопасности

Что НЕ входит

  • ❌ Доработки функционала (отдельно)
  • ❌ Изменение дизайна (отдельно)
  • ❌ Настройка хостинга
  • ❌ Наполнение контентом

Дополнительные услуги

УслугаСтоимость
Доработка функционалаот 5 000 ₽
Изменение дизайнаот 10 000 ₽
Настройка под клиентаот 15 000 ₽
Сопровождение (месяц)от 10 000 ₽
✅ Спасибо за использование нашего продукта!
Если возникли вопросы — обращайтесь. Мы поможем.