Как насчет отключения кнопки отправки? Это то, чем я занимаюсь. Работает нормально.
$('form').submit(function(){
$('input[type=submit]', this).attr('disabled', 'disabled');
});
Отказ от ответственности:
Это работает только тогда, когда JavaScript включен в браузере пользователя. Если отправляемые данные являются критическими (например, покупка кредитной картой), то рассматривайте мое решение как только первую линию защиты. Однако для многих случаев использования отключение кнопки отправки обеспечит достаточное предотвращение.
Сначала я бы реализовал это решение только для javascript. Затем отследите, сколько повторяющихся записей все еще создается. Если он равен нулю (или достаточно низок, чтобы не волноваться), то все готово. Если он слишком велик для вас, тогда выполните проверку внутренней базы данных для существующей записи.