а чего тут сложно? реферальная ссылка с GET параметром id направившего юзера, чтобы не таскать параметр дальше(не только эстетика, но так тупо проще) переносим его в кукис(если они не доступны, предлагаем включить их) и потом при регистрации проверяем наличие данной печеньки и заносим id благодетеля в поле бд таблицы с данными пользователей.