Used with author's permission. This article is written by daBoss. daBoss is Webmaster of Designer Banners. daBoss can be contacted at sales (at) designerbanners (dot) com.Developing a Login System with PHP and MySQL
Most interactive websites nowadays would require a user to log in into website’s system in order to provide a customized experience for user. Once user has logged in, website will be able to provide a presentation that is tailored to user’s preferences.
A basic login system typically contains 3 components: 1. The component that allows a user to register his preferred login id and password 2. The component that allows system to verify and authenticate user when he subsequently logs in 3. The component that sends user’s password to his registered email address if user forgets his password
Such a system can be easily created using PHP and MySQL.
================================================================
Component 1 – Registration
Component 1 is typically implemented using a simple HTML form that contains 3 fields and 2 buttons: 1. A preferred login id field 2. A preferred password field 3. A valid email address field 4. A Submit button 5. A Reset button
Assume that such a form is coded into a file named register.html. The following HTML code excerpt is a typical example. When user has filled in all fields, register.php page is called when user clicks on Submit button.
[form name="register" method="post" action="register.php"] [input name="login id" type="text" value="loginid" size="20"/][br] [input name="password" type="text" value="password" size="20"/][br] [input name="email" type="text" value="email" size="50"/][br] [input type="submit" name="submit" value="submit"/] [input type="reset" name="reset" value="reset"/] [/form]
The following code excerpt can be used as part of register.php to process registration. It connects to MySQL database and inserts a line of data into table used to store registration information.
@mysql_connect("localhost", "mysql_login", "mysql_pwd") or die("Cannot connect to DB!"); @mysql_select_db("tbl_login") or die("Cannot select DB!"); $sql="INSERT INTO login_tbl (loginid, password and email) VALUES (".$loginid.”,”.$password.”,”.$email.”)”; $r = mysql_query($sql); if(!$r) { $err=mysql_error(); print $err; exit(); }
The code excerpt assumes that MySQL table that is used to store registration data is named tbl_login and contains 3 fields – loginid, password and email fields. The values of $loginid, $password and $email variables are passed in from form in register.html using post method.
================================================================
Component 2 – Verification and Authentication
A registered user will want to log into system to access functionality provided by website. The user will have to provide his login id and password for system to verify and authenticate.
This is typically done through a simple HTML form. This HTML form typically contains 2 fields and 2 buttons: 1. A login id field 2. A password field 3. A Submit button 4. A Reset button
Assume that such a form is coded into a file named authenticate.html. The following HTML code excerpt is a typical example. When user has filled in all fields, authenticate.php page is called when user clicks on Submit button.
[form name="authenticate" method="post" action="authenticate.php"] [input name="login id" type="text" value="loginid" size="20"/][br] [input name="password" type="text" value="password" size="20"/][br] [input type="submit" name="submit" value="submit"/] [input type="reset" name="reset" value="reset"/] [/form]