Home » Programming » Developing a Login System with PHP and MySQL

RSS Fardin in Bremen

  • 19th century Market on the Grand Place of Brussels June 14, 2009
    by: Ibu ClaireThe main market of Brussels has been used as a market, since its creation beginning 10th century.Vegetables and poultry were sold, but also birds maintained into cages for their singing...At the end of 17th century, King Louis the 14th of France willing to conquer the Low Countries(name of Belgium at that time), bombed […]
  • Manneken-Pis June 14, 2009
    by : Ibu ClaireManneken-Pis (a 100m. away from the Grand-Place)This little 17th C. boy is supposed to be the oldest inhabitant of the city of Brussels. He is supposed to have gotten lost, and when found back, he was in this positon !His family was so happy that they offered a water-fontain to the inhabitants […]
  • Place Royale Brussels May 30, 2009
    by: Ibu ClaireThis square was built on the ruins of a previous royal palace, that burned out around 1715. Around 1780, huge works started in the "classical" style inspired by the castle of Versailles (France). It was supposed to be used for military parades,as the new palace was built "around the corner"Archeological researches were made […]
  • Atomium of Brussels 1958 May 21, 2009
    by: Ibu ClaireWas erected in 1958 for the World Exhebition. It represents a molecule of cristal iron and symbolizes the 9 provinces of Belgium. Each sphere has a diameter of 18 m.It is 102m. high and weighs 2400 tons. The designer was Ingenior André Waterkeyn.For its 5Oth anniversary, it was completely restaured,with partly by private […]

RSS Laravel

  • Pumps – My Most Valuable Tips
    Laravel Pumps – My Most Valuable Tips Where to Find the Best Male Reproductive Organ Enlargers There are a lot of products that are labeled for male reproductive organ enlarger. With these male reproductive organ enlarger products, the main purpose is to help the man get a bigger and better erection for intercourse. The male […]
  • aboard united parcel service and goblet professionals really get the job done each and every time i need these phones board up a building or my company.
    Laravel aboard united parcel service and goblet professionals really get the job done each and every time i need these phones board up a building or my company. Preparing repairs and improvements in an office which will continuously be working with the course of action could actually be a difficulty simply because one, accidents may […]
  • A Simple Plan: Services
    Laravel A Simple Plan: Services 3 Benefits to Massage Therapies There are some people who do not like being massaged at all, while there are other people who enjoy it very much; the truth is, massage therapies are actually very beneficial to people. It does not matter how old you are, you will definitely be […]
  • Professionals – Getting Started & Next Steps
    Laravel Professionals – Getting Started & Next Steps Rights of an Employee in Workers’ Compensation Law To start with, this is an insurance that covers the workers who get injured or fall sick during work. This law clearly outlines the duties and responsibilities of a worker. Other than that, it covers the employer’s obligations to […]

Developing a Login System with PHP and MySQL

by: John L

Most interactive websites nowadays would require a user to log in into the website’s system in order to provide a customized experience for the user. Once the user has logged in, the website will be able to provide a presentation that is tailored to the 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 the system to verify and authenticate the user when he subsequently logs in
3. The component that sends the user’s password to his registered email address if the 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 the user has filled in all the fields, the register.php page is called when the user clicks on the 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 the registration. It connects to the MySQL database and inserts a line of data into the table used to store the 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 the MySQL table that is used to store the registration data is named tbl_login and contains 3 fields – the loginid, password and email fields. The values of the $loginid, $password and $email variables are passed in from the form in register.html using the post method.

Component 2 – Verification and Authentication

A registered user will want to log into the system to access the functionality provided by the website. The user will have to provide his login id and password for the 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 the user has filled in all the fields, the authenticate.php page is called when the user clicks on the 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]

The following code excerpt can be used as part of authenticate.php to process the login request. It connects to the MySQL database and queries the table used to store the 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=”SELECT loginid FROM login_tbl WHERE loginid=’”.$loginid.”’ and password=’”.$password.”’”;
$r = mysql_query($sql);
if(!$r) {
$err=mysql_error();
print $err;
exit();
}
if(mysql_affected_rows()==0){
print “no such login in the system. please try again.”;
exit();
}
else{
print “successfully logged into system.”;
//proceed to perform website’s functionality – e.g. present information to the user
}

As in component 1, the code excerpt assumes that the MySQL table that is used to store the registration data is named tbl_login and contains 3 fields – the loginid, password and email fields. The values of the $loginid and $password variables are passed in from the form in authenticate.html using the post method.

Component 3 – Forgot Password

A registered user may forget his password to log into the website’s system. In this case, the user will need to supply his loginid for the system to retrieve his password and send the password to the user’s registered email address.

This is typically done through a simple HTML form. This HTML form typically contains 1 field and 2 buttons:
# A login id field
# A Submit button
# A Reset button

Assume that such a form is coded into a file named forgot.html. The following HTML code excerpt is a typical example. When the user has filled in all the fields, the forgot.php page is called when the user clicks on the Submit button.

[form name=”forgot” method=”post” action=”forgot.php”] [input name=”login id” type=”text” value=”loginid” size=”20″/][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 forgot.php to process the login request. It connects to the MySQL database and queries the table used to store the 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=”SELECT password, email FROM login_tbl WHERE loginid=’”.$loginid.”’”;
$r = mysql_query($sql);
if(!$r) {
$err=mysql_error();
print $err;
exit();
}
if(mysql_affected_rows()==0){
print “no such login in the system. please try again.”;
exit();
}
else {
$row=mysql_fetch_array($r);
$password=$row[“password”];
$email=$row[“email”];

$subject=”your password”;
$header=”from:you@yourdomain.com”;
$content=”your password is “.$password;
mail($email, $subject, $row, $header);

print “An email containing the password has been sent to you”;
}

As in component 1, the code excerpt assumes that the MySQL table that is used to store the registration data is named tbl_login and contains 3 fields – the loginid, password and email fields. The value of the $loginid variable is passed from the form in forgot.html using the post method.

Conclusion

The above example is to illustrate how a very basic login system can be implemented. The example can be enhanced to include password encryption and additional functionality – e.g. to allow users to edit their login information.

RSS Geospatial

  • ArcPy and ArcGIS: Geospatial Analysis with Python
    Geospatial ArcPy and ArcGIS: Geospatial Analysis with Python ArcGIS allows for complex analyses of geographic information. The ArcPy module is used to script these ArcGIS analyses, providing a productive way to perform geo-analyses and to automate map production. This book will guide you from basic Python scripting to advanced ArcPy script tools. This book starts […]
  • Geospatial Semantic Web
    Geospatial Geospatial Semantic Web This book covers key issues related to Geospatial Semantic Web, including geospatial web services for spatial data interoperability; geospatial ontology for semantic interoperability; ontology creation, sharing, and integration; querying knowledge and information from heterogeneous data source; interfaces for Geospatial Semantic Web, VGI (Volunteered Geographic Information) and Geospatial Semantic Web; challenges of […]
  • What are geospatial technologies
    Geospatial What are geospatial technologies About the technologies Geospatial technologies is a term used to describe the range of modern tools contributing to the geographic mapping and analysis of the Earth and human societies. These technologies have been evolving in some form since the first maps were drawn in prehistoric times. In the 19th century, […]
  • Google Maps JavaScript API Cookbook
    Geospatial Google Maps JavaScript API Cookbook Day by day, the use of location data is becoming more and more popular, and Google is one of the main game changers in this area. The Google Maps JavaScript API is one of the most functional and robust mapping APIs used among Geo developers. With Google Maps, you […]