Interview Question in Database Design


 

Interview Question :: Hello Can You Help Me With Tis,


I was always looking to create a registration page and a login page so whichever users visiting my website can create an account so that I can have some details about the user who is suring on my website.

So, I wanted something like this >>

1. To create a registration form with the following fields :

Username
Password
Email Address
Address
Tel
Occupation
Hobbies

And then their should be 2 buttons at the end of the page -> Submit , Reset

Then when the user clicks on the Submit button, all of these details should be stored in a Database, say for e.g. Microsoft Sql Server


After this, I wanted to create a Login page wherein a user enters his name and password and clicks on the Login button. As soon as he clicks on the Login button, the website should go to the database and match the username and password entered by the user with the data in the database (In other words, validating Username & Password with the database).

If his username and password matches, then he should successfully login into the website.

If his username does not match, then it should display a message, 'No such Username' and if his password does not match, then if should show a message 'Invalid Password' and provide a link to 'Forgot your Password' page.

Next, I want to create a Forgot your Password page wherein the User is asked to enter his username or email address and if it matches, then the password should be sent to his email address which was provided at the time of registration.
and he should be displayed a message that an email containing a password has been sent to his email address (The email address should be displayed where the password is sent)


So that's the above all story that I want to put in action.

Now, what I know is :

I need a database such as Microsoft Sql Server.
I need a web designing software such as Macromedia Dreamweaver MX 2004.
I need a 24hrs internet.
I need a new computer say P4 as a server where the database and my website will reside.

What I don't know is :

From where to start.
What is the method for creating the above work.
What else is required for creating the above work.
The entire code for : Login Page, Registration Form, Forgot your password page.
How to configue the database, connect to the database how to test whether everything is working fine.

So, please can you help me out???
Answers to "Hello Can You Help Me With Tis,"
RE: Hello Can You Help Me With Tis,?

Well, you probably don't want to run this yourself, what you'll likely want is a web hosting provider.



I myself prefer UNIX-ish VPS based systems for stuff like this. (or a BSD jail)



You don't get your "own" computer, but you do get to install software as you see fit. A VPS is a virtual private server, they basically take a big computer and slice it up into many small computers, you then "rent" one of the slices.



This will set you back about $20.00 month. (MUCH cheaper than your own computer, a co-located server the last time I looked, would cost well over 100/month)



You can also go with cheaper plans (some are $3.95/month) but BE CAREFUL, cheap hosts are no bargain when you need to do something and can't because they won't let you (or you require access to the web server configs, etc..)



If you JUST need access to whoever is visiting your site, you might consider just using the web server logs, it won't tell you anything about them but it will tell you if people are browsing your site.



Next step, the database. While not msql server, there are a couple open-source alternatives out there, mysql and postgresql. Mysql is more popular than postgresql (probably because cheap internet service providers liked them initially, mysql is light on resource consumption and as a result, it's easier to find software for mysql)



Postgresql on the other hand is popular with JSP based technology or situations where data integrity is more important. (postgresql has a lot more features for things like this, as well as mature transaction handling)



I like postgresql, but I usually do stuff for mysql simply because it is more popular. (and other people seem to prefer mysql)



Next, you'll need to either design the code of look for some software that does what you want.



Here are a couple I know of:



Amember:

http://www.amember.com/



GenieGate:

http://www.geniegate.com/listings/dolphi...

(Full disclosure, I own GenieGate)



These will allow you to put up a membership site and are written in PHP. (a popular language, though, like mysql it isn't always the best tool)



If you install one of these packages on your website and tweak it, they'll probably suit your needs. GenieGate for example, doesn't track all those fields you mention, however, you CAN make it track them if you like. (after they've confirmed their email address)



Membership software is quite a bit more involved than it appears, you need to consider password remind functions, email confirmations, how to access your data, etc..



Probably the hardest part is connecting it to the rest of your site. It is difficult, every single web application has its own ideas about user management.
 
Vote for this answer ::  
RE: Hello Can You Help Me With Tis,?

You want someone to write all that code for you, install and configure the DB and you will buy the hardware, is that what you are saying??



Sorry, either get ready to pay or get a degree. That's is a lot of work.
 
Vote for this answer ::  
Update Alert Setting