powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / загадочные дубликаты
9 сообщений из 9, страница 1 из 1
загадочные дубликаты
    #38833527
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Вобщем есть простенькая админка для добавления платежей в БД сайта. Админка благополучно работает уже года 2. Но недавно появился баг, при добавлении платежей, дублируются записи в БД. Смотрел поле которое отображает время добавления платежей. Там оба платежа идут с одинаковым временем с точностью до секунды. Сам скрипт просто как двери, без циклов и ветвлений. Т.е. для дублирования причин нет. Код скрипта около килобайта, обычный insert вставляющий данные из пост запроса. Сам пост запрос смотрел парсером, смотрел ответ сервера, все выполняется ровно 1 раз.
Сегодня дублирование исчезло. Причина гдето в БД или nginx?
Ссылку на админку по понятным причинам скинуть не могу. Перезагрузку мускульного процесса делал но не помогло.
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38833537
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да просто кликнули два раза подряд на кнопку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38833562
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДа просто кликнули два раза подряд на кнопку.

нет, я проверял несколько раз. стоял над душой у людей, ставил парсер. Запрос на скрипт уходил по 1 разу. Я даже сделал на ява скриптах защиту от 2-ного клика, как только кликнули, кнопка становится не видимой до тех пор пока в БД не пропишется новая запись, потом появляется алерт, и после того как пользователь кликнет по алерту, только тогда появится кнопка чтобы добавить новый платеж.
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38833569
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты недооцениваешь силу лагов. Проверяй лог доступа на сервере.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38833773
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Я даже сделал на ява скриптах защиту от 2-ного клика, как только кликнули, кнопка становится невидимой до тех пор..."
есть гарантия, что скрипт обязательно отработает между двумя нажатиями? Может, чел просто дабл кликает? У меня такое встречалось в наследии, разбирал недавно одну прогу.
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38833864
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
forward12нет, я проверял несколько раз. стоял над душой у людей, ставил парсер. Запрос на скрипт уходил по 1 разу. Я даже сделал на ява скриптах защиту от 2-ного клика, как только кликнули, кнопка становится не видимой до тех пор пока в БД не пропишется новая запись, потом появляется алерт, и после того как пользователь кликнет по алерту, только тогда появится кнопка чтобы добавить новый платеж.

От такого нужно не браузере защищаться, а на уровне БД. Примитивный способ - сгенерировать PK на клиенте и отправить серверу для INSERT. При попытке вставки 2-го значения с таким же ID гарантированно получишь облом.
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38833883
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
forward12при добавлении платежей, дублируются записи в БДВ свойствах платежа (тех самых данных, которые вводятся оператором или передаются от другого процесса) обязаны быть однозначно идентифицирующие платёж данные. А в БД эта совокупность однозначно идентифицирующих запись данных (не генерируемая сервером, вроде автоинкремента, а именно свойства платежа) должна быть уникальным ключом. Соответственно вторая копия данных вставлена не будет.
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38834538
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterforward12нет, я проверял несколько раз. стоял над душой у людей, ставил парсер. Запрос на скрипт уходил по 1 разу. Я даже сделал на ява скриптах защиту от 2-ного клика, как только кликнули, кнопка становится не видимой до тех пор пока в БД не пропишется новая запись, потом появляется алерт, и после того как пользователь кликнет по алерту, только тогда появится кнопка чтобы добавить новый платеж.

От такого нужно не браузере защищаться, а на уровне БД. Примитивный способ - сгенерировать PK на клиенте и отправить серверу для INSERT. При попытке вставки 2-го значения с таким же ID гарантированно получишь облом.
ну нечто подобное и планируется.
...
Рейтинг: 0 / 0
загадочные дубликаты
    #38834539
forward12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinaforward12при добавлении платежей, дублируются записи в БДВ свойствах платежа (тех самых данных, которые вводятся оператором или передаются от другого процесса) обязаны быть однозначно идентифицирующие платёж данные. А в БД эта совокупность однозначно идентифицирующих запись данных (не генерируемая сервером, вроде автоинкремента, а именно свойства платежа) должна быть уникальным ключом. Соответственно вторая копия данных вставлена не будет.
согласен. Но БД проектировал не я.
Вобщем старую таблицу я не могу расширить, но добавить дополнительную связанную с уникальными ИД можно.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / загадочные дубликаты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]