Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запрет вызова скрипта многократно

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Brothersssddsss
Отправлено: 01 Июня, 2010 - 11:15:03
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Здравствуйте!
У меня такая проблема сделал рейтинг с помощью AJAX и PHP но есть одна проблема…

Вызов делается так:

Нажатием на +5 например делается вызов функции JavaScript`ом при нажатии на ссылку:

<a href=”javascript: plus_reiting(5);”>+5</a>

Этот скрипт посылает запрос PHP скрипту, который записывает в базу +5 и записывает, что этот человек голосовать уже не может.

Так вот проблема в том, что если эту строчку вставить в адресную строку javascript: plus_reiting(5) и вызвать 10 раз, то он вызовется 10 раз и приплюсует 50 а то что перед плюсованием идёт проверка голосовал он уже или нет не срабатывает так как то что он уже голосовал записывается когда он приплюсует 50 баллов (наверное скрипт успевает приплюсовать прежде чем запишется в базу информация о том что он уже голосовал).

Подскажите, как можно сделать, чтобы в базу записывалось только 1 нажатие, если он нажмёт даже 4 раза?

Надеюсь понятно, кто с этим сталкивался точно поймёт… )))

(Отредактировано автором: 01 Июня, 2010 - 11:18:58)

 
 Top
alexspb
Отправлено: 01 Июня, 2010 - 11:53:12
Post Id


Посетитель


Покинул форум
Сообщений всего: 260
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




Brothersssddsss пишет:
наверное скрипт успевает приплюсовать прежде чем запишется в базу информация о том что он уже голосовал
и как не видя скрипта в этом разобраться?
ясно, что где-то у вас в логике скрипта проблема


-----
Хостинг - неограниченно доменов на одну папку
Ajax - отличное введение
 
 Top
JustUserR
Отправлено: 01 Июня, 2010 - 14:34:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Brothersssddsss пишет:
Подскажите, как можно сделать, чтобы в базу записывалось только 1 нажатие, если он нажмёт даже 4 раза?
Фильтровать многоразовое нажатие со стороны клиента не очень удобно - поскольку пользователь при большом желании может посмотреть ваш JS-код и форму отправки запроса с голосованием на web-сервер и передать точно такую же с помощью telnet Поэтому либо придидется вводить голосование только для зарегистрированным пользователей и в БД для каждого из них записывать информацию о голосованиях и запрощать повтор - или же использовать аналогичную филтрацию по IP-адресу только с некоторым интервалом времени ограничения голосования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB