РазделАдминистрирование сайтов
Чтение8 мин
Дата20 сентября 2026
ФорматПрактическая статья
Разделите форму на четыре этапа
Браузер → backend → почта → CRM. Если проверять всё одновременно, легко потратить время не на тот слой. Откройте DevTools → Network, отправьте тестовую заявку и найдите запрос формы.
Что видно в Network
| Результат | Где проблема вероятнее всего |
|---|---|
| Запроса нет | JavaScript, validation, кнопка, frontend |
| 400/422 | обязательные поля, backend validation, CAPTCHA |
| 403 | CSRF/WAF/permission |
| 500 | PHP/backend log |
| 200 + success, письма нет | SMTP/delivery |
| 200 + mail есть, CRM нет | API CRM/webhook/integration |
Проверить endpoint формы вручную
BASH
# Замените URL и имена полей на реальные.
curl -i -X POST https://example.com/api/form -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'name=Test' --data-urlencode 'email=test@example.com' --data-urlencode 'message=Form test'
# Если форма требует CSRF/CAPTCHA/сессию, такой запрос ожидаемо может быть отклонён.Если запрос вообще не уходит
- посмотрите Console на JavaScript error;
- проверьте, не заблокирован ли submit сторонним скриптом;
- временно отключите только недавно добавленный frontend-код;
- проверьте обязательные поля и HTML validation;
- убедитесь, что кнопка не находится вне нужной формы.
Если backend вернул 500
Не показывайте пользователю PHP error. Запишите ошибку в log и найдите её по времени тестовой отправки. Если обработчик делает несколько действий, логируйте этапы: validation → запись заявки → SMTP → CRM.
Если форма пишет «успешно», но заявки нет
Добавьте технический идентификатор заявки и логируйте результат SMTP/API. Это позволяет отличить «форма приняла данные» от «письмо реально передано SMTP» и «CRM вернула 2xx».
Минимальный тест после исправления
| Проверка | Ожидаемый результат |
|---|---|
| Desktop Chrome | заявка создана |
| Мобильный браузер | заявка создана |
| Невалидный email | понятная ошибка |
| CAPTCHA | нормальный success/error |
| SMTP | сообщение принято сервером |
| CRM | лид/сделка появилась один раз |
| Повторный submit | нет дубля |