That's the standard Referral Form pattern. If you search the Community, there's a bunch of guidance.
Common to all solutions is that the form must not reassociate the web session with the new referral(s), that is, the session remains associated with the referrer's lead record. The typical code to do this part is here.
An advanced solution logs the referrer's identity to the new referrals' lead records, and vice versa. This gives you a nice "closed circle" with info about your lead-to-lead activities. We've got a bunch of forms like this in the wild.