У меня уже есть полностью заложенная система членства и я хочу интегрировать свою собственную систему рефералов пользователей, но хочу получить некоторые советы, рекомендации по ее выполнению.
Моя текущая зарегистрированная таблица пользователей – это что-то вроде
пользователи (таблица)
– id (идентификатор пользователя)
– электронная почта (электронная почта пользователя)
– пароль (хэш пароля пользователей)
– reg_date (зарегистрирована дата пользователя)
У меня есть другие поля, но я не имею никакого отношения к тому, что я хочу делать, и чтобы все было как можно проще, я оставил их.
Я думаю о создании новой таблицы, называемой рефералами, и, например, когда кто-то из зарегистрированных пользователей на моем сайте из таблицы пользователей ссылается на кого-то (я думаю, я бы создал форму, которая запрашивает электронную почту человека, которого они хотят передать, и имя и добавляет, что таблица рефералов), то он отображает в нем учетную запись, на которую они ссылаются, и на сколько людей они ссылаются, и если человек, которого они называют, присоединился к моему сайту.
Я надеюсь, что кто-то может объяснить логику того, что мне нужно в моей таблице рефералов, чтобы отслеживать рефералов?
Мой стол выглядит так:
рефералы (таблица)
– uid (идентификатор referrer, это будет зарегистрированный пользователь из таблицы пользователей)
– ref_count (общее количество ссылок от таблицы пользователей направлено людям)
– действие (возможно, не имя обряда) (если лицо, которое было отправлено завершенным регистрационным письмом)
– Я предполагаю, что какой-то идентификатор или что-то для человека, которого вы упомянули, не уверены и что еще мне может понадобиться.
Очевидно, что на странице регистрации у меня будет текстовое поле referrer, в котором пользователь может указать имя пользователя, к которому они были направлены, и проверит, были ли они отправлены уже зарегистрированным членом, и я предполагаю, что в реферальной ссылке электронной почты я бы добавил пользователя, который сделал реферал и сделать простую проверку на странице регистрации что-то вроде регистрации? ref = username_here
и если ref isset через get добавить имя пользователя автоматически в текстовое поле.
Как вы можете видеть, я борюсь с логикой таблицы рефералов и буду любить ее, если кто-нибудь сможет объяснить, что еще мне понадобится? и логику того, что мне нужно будет делать в php, чтобы собрать все вместе (а не код) просто краткое руководство по тому, что я должен делать. Я знаю, что мне нужно будет выполнить определенные проверки и т. Д., Например, проверить, чтобы они ранее не ссылались на них (по причинам со спамом), и что электронное письмо лица, которого они хотят передать, ранее не было передано кем-то другим (по причинам со спамом) и что электронная почта человека, которого они хотят отсылать, не существует как уже зарегистрированный элемент в таблице пользователей и т. д.
Может быть, я делаю это сложнее, чем на самом деле, но по какой-то причине я не понимаю логику, если кто-то может сказать мне, что то, что я делаю, совершенно неверно, а не лучший способ это сделать, пожалуйста, сделайте ,
Думаю, вы могли бы сказать, что я прошу создать макет (проект) таблицы рефералов, чтобы делать то, что я хочу, и те вещи, которые я должен делать в php, чтобы собрать все это вместе.
Установите справочную таблицу следующим образом:
referrals: id (primary key) referrer_id (user who is referring someone else) referred_email (email of person being referred) status (referred[default], registered) created_on updated_at
Следуя политике «не доверяй никому», вы не должны использовать имя в качестве поля в рефералах. Например. Я отправляю реферал: email => your_email, name => abuse . Это вас понижает.
Для подсчета нет. рефералов:
select count(*) as referral_count from referrals where referrer_id = 'user_id'
Я нашел один запрос, поскольку я делаю тот же модуль. Если реферальная ссылка отправляется другому лицу, которое не было передано пользователем, то что вы предложите:
(1) Либо разрешить этому человеку регистрироваться и платить пользователю (поскольку это может привлечь больше пользователей на сайт.) (2) Разрешить этому лицу регистрироваться, но не платить.