добавление количества рефералов и идентификаторов рефералов в БД MySQL с использованием PHP - PullRequest
1 голос
/ 17 марта 2011

Я настроил систему рефералов, в которой пользователь вводит свой адрес электронной почты и затем может отослать друга. Друг получает уникальный URL-адрес, за которым следует код, например: example.com/FHF73H

БД настроена как таковая;

email_id    email           code        ts
1       test1@test.com      98VIB15     2011-03-17 01:52:22
2       test2@test.com      412395D     2011-03-17 01:58:00
3       test3@test.com      6521298     2011-03-17 02:00:51
4       test4@test.com      3VJ7AB5     2011-03-17 02:01:02

У меня есть настройка htaccess, поэтому RewriteRule ^([a-z0-9]+)$ /index.php?_url=$1 [NC,L,QSA] и я могу затем использовать $_GET['_url']; для получения кода реферера.

Для каждого пользователя в БД я хочу отслеживать:

a) Количество людей, которые посетили их реферальную ссылку
б) Подсчет количества пользователей, которые зашли и подписались (введя свой адрес электронной почты и отправив)
c) Разделенный запятыми столбец email_id пользователей, которые выполнили b).

Требуется 3 столбца.

Где каждый из вышеперечисленных (a, b и c) должен быть размещен в коде, чтобы функционировать так, как я хотел? Я также не уверен, как все это кодировать в PHP и какие свойства столбцов определенного типа требуются в базе данных MySQL.
Буду очень признателен за любую помощь!

Спасибо!

1 Ответ

1 голос
/ 17 марта 2011

А)

Есть 3 способа подсчитать, сколько раз была нажата реферальная ссылка.

  1. Каждый клик сделан, всегда Каждый раз, когда URL вызывается, вы обновляете значение в своей базе данных. Это означает, что один человек может непрерывно нажимать, и все это будет сохранено. Преднамеренно или нет.

  2. Каждый независимый клик Вы будете хранить cookie для пользователя и увеличивать количество, только если этот cookie отсутствует. Это предотвратит случайное увеличение количества пользователей, если они дважды нажмут на ссылку. Тем не менее, они все еще могут очистить свои куки для увеличения количества.

  3. Каждый уникальный клик Здесь вы решаете сохранить IP-адрес, с которого был получен клик, и увеличивать счетчик, только если этот IP-адрес еще не присутствует в базе данных.

B)

Вам нужно сохранить куки (независимо от вышеуказанного метода). В этом файле cookie вы сохраните любой идентификатор этого реферала в вашей базе данных.

В крайних случаях вы можете захотеть сохранить в базе данных вместо куки, чтобы запретить людям очищать свои куки, так как они не были никем не переданы, или пользователь вообще не принимает куки.

Конечно, есть возможность вообще ничего не сохранять, и пользователь попадает прямо на страницу регистрации. Но идентификатор реферера будет утерян, если пользователь покинет или изменит страницу.

C)

В этом случае я бы не использовал CSV в СУБД, вместо этого у меня, вероятно, была бы новая таблица с user_id (зарегистрированным человеком) и referral_id (идентификатором реферала). Однако иногда могут понадобиться данные CSV или сериализованные.

Краткое описание

Пользователь нажимает на реферальную ссылку, вы сохраняете файл cookie с идентификатором реферала в браузере пользователей и увеличиваете количество кликов этого идентификатора в вашей базе данных.

Когда пользователь отправляет регистрационную форму, вы проверяете наличие куки, если куки найдены, вы увеличиваете количество рефералов на основе того, какой идентификатор реферала был внутри этого куки,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...