Вызов JavaScript из PHP-скрипта

Привет всем! У меня возникла проблема с валидацией формы. Я создал форму внутри PHP-скрипта и пытаюсь провести валидацию с помощью JavaScript, но что-то идет не так.

Вот часть моего кода:

<?php
// Подключение к базе данных
$db = new mysqli('localhost', 'пользователь', 'пароль', 'моя_база');

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Обработка отправленной формы
    $имя = $_POST['имя'];
    $почта = $_POST['почта'];
    $сообщение = $_POST['сообщение'];
    
    // Вставка данных в базу
    $запрос = $db->prepare("INSERT INTO отзывы (имя, почта, текст, дата) VALUES (?, ?, ?, NOW())");
    $запрос->bind_param("sss", $имя, $почта, $сообщение);
    $запрос->execute();
    
    // Отправка email
    mail('admin@сайт.ru', 'Новый отзыв', $сообщение, "От: $почта\nИмя: $имя");
} else {
    // Вывод формы
    echo '<form method="POST" id="отзыв" onsubmit="return проверитьФорму();">';
    // ... поля формы ...
    echo '</form>';
}

$db->close();
?>

Я не могу понять, почему функция проверитьФорму() не срабатывает при отправке. Может кто-нибудь подсказать, где я ошибся? Заранее спасибо за помощь!

Валидация на клиенте - это хорошо, но не забывай про серверную валидацию. Клиентскую легко обойти. Я бы советовал использовать AJAX для отправки формы. Так ты сможешь валидировать на клиенте, отправлять асинхронно и обрабатывать ответ сервера, не перезагружая страницу. Плюс юзабилити лучше. А для валидации можно взять готовую библиотеку типа Validate.js, чтобы не изобретать велосипед.

Хм, у тебя проблема может быть в том, что JavaScript-функция не объявлена или не подключена правильно. Попробуй добавить тег с функцией проверитьФорму() прямо перед закрывающим тегом . И еще, лучше использовать addEventListener вместо inline-обработчика onsubmit. Так код будет чище и гибче. А вообще, может, стоит подуматься о разделении логики - валидацию на клиенте, а обработку данных на сервере?