В этом материале я собираюсь рассказать, как делается система рефералов на PHP , она же партнёрская программа . Допустим, Вы хотите награждать как-то тех пользователей, которые приводят Вам новых. И я постараюсь рассказать, как делается такая система рефералов на PHP , и сразу сообщаю, что здесь не будет готового ко...

Как сделать систему рефералов на 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:

  1. Предоставьте ссылку партнёрам вида: любая_страница_сайта?ref=логин_партнёра
  2. При каждом посещении сайта проверяйте на наличие ref, и если он есть, то добавляйте в cookie пользователя id-партнёра, от которого он пришёл.
  3. При совершении целевого действия (регистрация, подписка, покупка и так далее) возьмите значение id-партнёра из cookie и добавьте эту информацию в таблицу (с пользователями, подписчиками, заказами и так далее).
  4. Если после совершения целевого действия, должно быть начисление, например, комиссионных, то сделайте и это.
  5. Если партнёрка многоуровневая, то обязательно добавьте поле "ref" в таблицу с партнёрами.