Как сделать систему рефералов на PHP
В этой статье я собираюсь рассказать, как делается система рефералов на PHP, она же партнёрская программа. Допустим, Вы хотите награждать как-то тех пользователей, которые приводят Вам новых. И я постараюсь рассказать, как делается такая система рефералов на PHP, и сразу сообщаю, что здесь не будет готового кода. Готовый код на других сайтах, а здесь же я рассказываю об алгоритме решения, а вот написать его должны уметь Вы.
Первым делом, нужно понять, как отследить, от кого пришёл пользователь. Здесь всё достаточно прозрачно, и надо просто генерировать ссылку для каждого партнёра. Например, в таком виде: http://mysite.ru/?ref=abc, либо http://mysite.ru/page.php?n=5&ref=abc. То есть главное, чтобы был GET-параметр ref, а значение этого параметра - логин пользователя, который привёл данного посетителя.
Далее надо сохранить информацию у этого нового посетителя о том, кто его привёл. Сохранять это надо в cookie. А дальше надо смотреть, выполнит ли целевое действие этот новый пользователь. Например, если он что-нибудь покупает, то добавить на счёт денег партнёру, а также закрепить e-mail этого клиента за партнёром. Тогда если клиент ещё что-нибудь купит, то партнёр опять же получит комиссионные.
Если же целевое действие, например, регистрация, то обязательно надо добавить в таблицу с пользователями поле "ref", в котором указать id-партнёра.
Теперь что касается многоуровневых партнёрских программ. В данном случае надо в таблице с партнёрами сделать так же поле "ref" и записывать туда id-партнёра, который привёл этого нового партнёра. Если же он сам пришёл, то ставить "0".
Подведу итог, как сделать систему рефералов на PHP:
- Предоставьте ссылку партнёрам вида: любая_страница_сайта?ref=логин_партнёра
- При каждом посещении сайта проверяйте на наличие ref, и если он есть, то добавляйте в cookie пользователя id-партнёра, от которого он пришёл.
- При совершении целевого действия (регистрация, подписка, покупка и так далее) возьмите значение id-партнёра из cookie и добавьте эту информацию в таблицу (с пользователями, подписчиками, заказами и так далее).
- Если после совершения целевого действия, должно быть начисление, например, комиссионных, то сделайте и это.
- Если партнёрка многоуровневая, то обязательно добавьте поле "ref" в таблицу с партнёрами.
Как видите, всё вполне реально, но сразу говорю если PHP и MySQL не знаете, то можно и не пытаться выполнить сделать партнёрскую программу на PHP. Для тех же, кто знаком с ними, трудностей быть не должно.
-
- Михаил Русаков
Комментарии (9):
Михаил,а какое програмное обеспечение надо чтобы с своего компа можно было сделать сервер,и чтобы можно было свизать домен???
Ответить
http://myrusakov.ru/php-make-server.html
Ответить
Михаил, у меня проблема с 3х уровневой реф системой, в общем вот скрипт: $ref2 = mysql_query("SELECT ref1 FROM users WHERE noms=='$ref1'",$db); $ref3 = mysql_query("SELECT ref1 FROM users WHERE noms=='$ref2'",$db); Почему не записуется $ref2, $ref3 в бд?
Ответить
http://myrusakov.ru/sql-finderror.html
Ответить
А вообще должно записаться в переменную $ref2 поле ref1? Синтаксических ошибок здесь нет, просто может нужен другой какой-то скрипт для записи в переменную из sql запроса.
Ответить
подскажите как работает рефсылка такого примера site.ru/?48577
Ответить
Точно так же, только здесь значение не передается переменной, оно в ней и содержится.
Ответить
ну как ее выташить кпримеру если через site.ru/r=3334 $_GET[r] а втом случаее как чет не сображу
Ответить
Тут придется вытащить все foreach($_GET as $key => $value)
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.