У меня уже есть полноценная система членства, и я хочу интегрировать свою собственную систему рефералов пользователей, но мне нужны некоторые советы, советы по этому вопросу.
Моя таблица текущих зарегистрированных пользователей похожа на
пользователей (таблица)
- id (идентификатор пользователя)
- электронная почта (электронная почта пользователя)
- пароль (хэш пароля пользователя)
- reg_date (дата регистрации пользователя)
У меня есть некоторые другие поля, но они не имеют отношения к тому, что я хочу сделать, и чтобы все было как можно проще, я их пропустил.
Я подумываю о создании новой таблицы с именем рефералы и, например, когда зарегистрированный пользователь на моем сайте из таблицы users ссылается на кого-то (думаю, я бы создал форму с запросом для электронной почты человека, которого он хочет отослать, и его имени, и добавить его в таблицу рефералов) в нем будет отображаться учетная запись, на которую он ссылался и сколько человек он сослался, и если человек, на которого он ссылался, присоединился к моему сайту.
Я надеюсь, что кто-нибудь сможет объяснить логику того, что мне нужно в моей таблице рефералов для отслеживания рефералов?
Пока мой стол выглядит так:
рефералов (таблица)
- uid (идентификатор реферера, это будет зарегистрированный пользователь из таблицы пользователей)
- ref_count (всего реферер из таблицы пользователей привлек людей)
- действие (возможно, не название ритуала) (если лицо, на которое было направлено письмо, завершило регистрацию)
- Я предполагаю, что какой-то идентификатор или что-то для человека, которого направляют, не уверен, и что еще мне может понадобиться.
Очевидно, что на странице регистрации у меня будет текстовое поле реферера, в котором пользователь может вводить имя пользователя, на которого он ссылался, и проверять, ссылался ли он на уже зарегистрированного участника, и я думаю, что по реферальной ссылке я бы добавил пользователя, который сделал реферал и просто проверил на странице регистрации что-то вроде регистрации? ref = username_here
и если ref установлен через get, автоматически добавьте имя пользователя в текстовое поле.
Как вы видите, я борюсь с логикой за таблицей рефералов и хотел бы, чтобы кто-нибудь объяснил, что еще мне понадобится? и логика того, что мне нужно будет сделать в php, чтобы собрать все вместе (не код), просто краткое грубое руководство о том, что я должен делать. Я знаю, что мне нужно будет выполнить определенные проверки и т. Д., Например, проверку, чтобы убедиться, что они не передали их ранее (по причинам спама) и что электронная почта лица, на которое они хотят сослаться, ранее не была передана кем-либо еще (по причинам спама), и что адрес электронной почты человека, на которого он хочет сослаться, не существует в качестве уже зарегистрированного пользователя в таблице пользователей и т. д.
Может быть, я делаю это сложнее, чем на самом деле, но я по какой-то причине не понимаю логику этого, если кто-то может сказать мне, что то, что я делаю, совершенно неправильно и не лучший способ сделать это это пожалуйста.
Полагаю, вы могли бы сказать, что я прошу макет (черновик) таблицы рефералов, чтобы делать то, что я хочу, и то, что я должен делать в php, чтобы собрать все вместе.