Well, a high-level overview COULD be something like....
In your user table, you could create a field that distinguishes levels of membership. For example:
1 = regular
2= paid
3 = lifetime member
etc...
Then, when you validate the user, you can check his/her "access level" and if it is only a "1", they don't see links to the special places that only paid members get to see. Also, when you log them in/validate the suers, you can set a session value to be assigned their access level, which can in turn be used on other pages.
On the pages where paid members are, you have to check the Session value and make sure they have clearnance for that page, or through a message and exit before showing any of the goods...