Отслеживание параметров обновления страницы

Это скорее открытый вопрос, в отличие от того, что я на самом деле публикую код, но вот что я делаю:

У меня есть несколько действий, которые дают пользователю баллы для вознаграждения на нашем сайте. Я создал несколько трекеров пикселей, которые используют javascript document.write для запуска при загрузке страницы, изображение передает необходимые переменные, с которыми моя PHP-программа работает с БД, и с помощью функции заголовка возвращает изображение GIF. Все это отлично работает, и я очень доволен этим, но мне нужно найти решение, которое помешает пользователю просто обновить страницу, на которой он заработал баллы, и продолжить их накопление. Я попытался использовать файл cookie PHP, который сработал, но сказал, что перешел в другое место на сайте, например, написал 2 обзора на разные продукты, это не дает мне баллов за 2-й обзор. Я попытался обнаружить обновление в javascript, чтобы остановить запуск изображения, если это так, но код, кажется, не работает правильно, у кого-нибудь есть идеи или идеи?


person forevermetal02    schedule 19.10.2012    source источник
comment
Используйте функцию jquery done. это остановит вызов функции до завершения вашего выполнения.   -  person suresh.g    schedule 20.10.2012


Ответы (1)


Вы должны создать таблицу, которая регистрирует баллы вознаграждения, и когда этот код обрабатывает их и добавляет новые баллы, он сначала проверяет их.

Поэтому каждый раз, когда вы начисляете балл, сохраняйте его в журнале: John Smith 1 балл за обзор с идентификатором # 20029.

Затем, когда он обновится, проверьте журнал: получил ли Джон Смит балл за этот отзыв с идентификатором # 20029? Да.

Yes { do nothing }
No { Add a point }

... вы поняли - используйте для этого таблицу sql.

person phpisuber01    schedule 19.10.2012
comment
Можно выполнить несколько разных действий, но все они хранятся в одной таблице действий, поэтому каждый написанный отзыв, оставленный комментарий, сделанная покупка помещаются в таблицу действий с уникальным идентификатором и соответствующими баллами, единственная проблема заключается в том, что идентификатор является автоматически увеличивающимся. поле, поэтому обновление просто добавляет то же действие, но с новым идентификатором, как бы вы обошли это или я должен изменить это в БД - person forevermetal02; 20.10.2012