61 / 61 / 11
Регистрация: 19.09.2009
Сообщений: 844
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
php скрипт + ajax09.01.2012, 05:04. Показов 2119. Ответов 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 / 6596 / 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 / 6596 / 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |