61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
php скрипт + ajax09.01.2012, 05:04. Показов 2151. Ответов 15
Метки нет (Все метки)
К примеру использую ajax для влияния на рейтинг новости, дело в том, что если быстро нажать несколько раз скажем на плюс, то данные полетят в php скрипт и и рейтинг защитается скажем не +1, а +2, максимум +3. Возможно из-за того, что при очень быстром клике скрипт не успевает занести данные в базу и перепроверить. Обычно при очень быстром клике, данные дублируются раза 2 максимум 3.
пхп скрипт же ведет вот такую табличку и проверяет перед голосованием, если к примеру ip 93.84.50.198 с news_id 2335 существует, то голосовать уже нельзя. Но вот быстрые клики его сбивают с толку.
Подскажите пожалуйста, как можно избежать повтора данных в пхп скрипте, особенно если это касается добавления материала скажем.
0
|
09.01.2012, 05:04 | |
Ответы с готовыми решениями:
15
Двойной ajax запрос в php скрипт Можно ли делать include php ,при котором если в загружаемом файле есть ошибки,то чтобы необваливался весь скрипт в который загружается другой скрипт? php + ajax PHP и ajax |
13208 / 6597 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
09.01.2012, 11:12 | 2 |
nepster, У $.ajax() в есть success, error и complete. Функция complete вызывается всегда после завершения. Перед вызовом самого $.ajax(), например, отключаем кнопку (disabled="disabled"), либо как-то еще запрещаем/исключаем повторный вызов данного функционала. В функции в complete выполняем обратные действия по разрешению, если они нужны. Если нет, то в функции в error они точно нужны.
На стороне сервера (например, средствами БД через уникальные ключи) также надо на корню исключать возможность повторного голосования, если оно недопустимо.
1
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||
09.01.2012, 16:47 [ТС] | 3 | |||||
в скрипте проверка стоит и все работает на все 100%, но походу скрипт при быстром запросе не успевает обработать данные и появляются повторения. Можно ли как то скажем поставить проверку, что пока скрипт полностью не отработал, новый запро послать нельзя. такое вообще можно реализовать? Ведь если использовать в javascript запреты 2 кликов и так далее, ведь все равно можно на прямую обратить к скрипту.
0
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
|
10.01.2012, 12:52 | 4 |
News_id + User_id -> unique.
И все.
2
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||
11.01.2012, 15:02 [ТС] | 5 | |||||
не много не понял, вы имеете ввиду выполнить 2 запроса вот таких?
или как то совместить 2 поля ? тоесть, например что бы строка где юзер айди 35 и айди новости 43 не повторялись, если да то подскажите пожалуйста каким запросом можно реализовать?
0
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||
13.01.2012, 14:52 [ТС] | 7 | |||||
нашел запрос, сделал. все работает
однако появилась другая проблема. Походу повторений в таблице прилично, так же нашел запрос удаления повторений из базы, но в базе почти 700 000 записей, и суток не хватило, что бы он выполнился. Подскажите пожалуйста, как быть в такой ситуации (нет возможности держать ноут включенным неделю =( ) ?
0
|
13208 / 6597 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
||||||
13.01.2012, 15:08 | 8 | |||||
2
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||||||||||||
13.01.2012, 15:23 [ТС] | 9 | |||||||||||||||
Код
1062 - Duplicate entry '2599-121.12.249.207' for key 'news_id' При выполнении
0
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
|
13.01.2012, 16:05 [ТС] | 11 |
что то все равно 0 дубликатов. Я уже оставил только те 2 полня, где повторения.
0
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||
13.01.2012, 16:06 [ТС] | 12 | |||||
было бы конечно не принцепиально обнулить базу. Если бы весь рейтинг у меня не строился на данной таблице. через запрос
0
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
||||||
13.01.2012, 16:58 | 13 | |||||
а как же добавить
0
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
|
13.01.2012, 23:51 [ТС] | 14 |
с этим то все впорядке, суть в уникальных ключах. Я разобрался как их сделать, но не могу удалить повторяющиеся записи.
Есть запрос на удаления, я сутки держал комп онлайн, запрос так и не выполнился. А при копировании копируется вся база =(
0
|
61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||
15.01.2012, 02:02 [ТС] | 15 | |||||
нашел запрос, который сработал =)
0
|
0 / 0 / 0
Регистрация: 19.02.2011
Сообщений: 12
|
|
14.02.2012, 17:43 | 16 |
Ммммм..... а задержку на сам запрос в 1 секунду поставить и будет счастье тогда он сам обработчик все успеет sleep(1) где нить в верху файла пропиши
0
|
14.02.2012, 17:43 | |
14.02.2012, 17:43 | |
Помогаю со студенческими работами здесь
16
PHP + ajax Php + Ajax php и ajax Не работает PHP+jQuery+AJAX Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
|
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
|
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
|
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
|
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
|
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
|
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
|
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
|
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
|
Как запретить подсветку выделенного текста с помощью CSS
bytestream 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения.
Выделение текста может. . .
|