I'm an intermediate student of php/mysql. I want to develop a system that allows the client to login and view physical documents related only to their account. My intention is to provide the client the user login id and pass. However, in addition, I want to be able to allow non-clients to register and view info not available to non-registered users.

  1. How many different database/table components and functions will be involved?
  2. Has anyone here done this before?
  3. What book or website specifically addresses developing this level of web application?

I want to keep it simple but I don't want to leave anything out as far as security is concerned. I've got a few months to put this together.


Umm.. You can have 3 tables. One to store all the registration information. Second to store the login information and third, to store the path of the files for every user. In registration table, you can have firstname, lastname, loginname, password, confirmpassword, email, blah blah blah. This will only be used when a new user registers or to retrieve the email of an already registered user(Eg. for forgot password). Login table has fields like id, loginname, password, last_login,status etc. A record is inserted to this table when a new user registers. Whenever the user enters his username and password, you can validate it using this table. The third table would store the path of the file of that user, id (of table login) being the foreign key.
The number of function depends on the coder. Some write 20 functions for an application, while some write only 5.
Security depends on how you write your scripts. Escaping special characters, using stored procedures, etc will make your application more secure.
You can check sourceforge.net for a sample application.