Create An HTML Form And Insert Data Into The Database Using PHP

The following steps are required to design a registration form (Sign Up Form):

Step 1: Firstly, install a virtual server in your computer (eg Xampp, Wamp).

Xampp is a free and open source cross-platform web server solution stack package developed by Apache Friends, consisting mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in the PHP and Perl programming languages. XAMPP stands for Cross-Platform (X), Apache (A), MySQL (M), PHP (P) and Perl (P).

xampp server
                                                               Figure: Xampp Server

Step 2: Next we will require an editor where the html code has to be written. You can use any editor (such as Notepad++, Adobe Dreamweaver, NetBeans, etc). Here we will use Notepad ++.

Step 3: Install Notepad++. Here are the steps:

notepad plus plus

Notepad ++

Notepad++ is a source code editor used with Microsoft Windows. It supports editing in tabular form, which allow us to work with multiple open files in a single window.

Notepad++ is distributed as a free software.

Click on the first link in the browser window. After clicking the first link the following window will appear.

download notepad
Download Notepad ++   

Download the software by clicking the download button.

Step 4: Open the Notepad++ text editor and write the html code for designing the HTML Sign Up page.
We will use various html tags to design the page.

You can include the fields according to your convenience (i.e whichever fields you require for the form).

Here i have included the fields according to my convenience.

Have a view of the code written in notepad++,
  1. <html>    
  2.     <head>    
  3.         <title>Registration Form</title>    
  4.     </head>    
  5.     <body>    
  6.         <link href = "registration.css" type = "text/css" rel = "stylesheet" />    
  7.         <h2>Sign Up</h2>    
  8.         <form name = "form1" action="modified.php" method = "post" enctype = "multipart/form-data" >    
  9.             <div class = "container">    
  10.                 <div class = "form_group">    
  11.                     <label>First Name:</label>    
  12.                     <input type = "text" name = "fname" value = "" required/>    
  13.                 </div>    
  14.                 <div class = "form_group">    
  15.                     <label>Middle Name:</label>    
  16.                     <input type = "text" name = "mname" value = "" required />    
  17.                 </div>    
  18.                 <div class = "form_group">    
  19.                     <label>Last Name:</label>    
  20.                     <input type = "text" name = "lname" value = "" required/>    
  21.                 </div>    
  22.                 <div class = "form_group">    
  23.                     <label>Password:</label>    
  24.                     <input type = "password" name = "pwd" value = "" required/>    
  25.                 </div>    
  26.             </div>    
  27.         </form>    
  28.     </body>    
  29. </html>    

Here I have included the LINK tag to link the CSS file for this HTML page.

HTML or Hypertext Markup Language is the standard and most basic language in use to create web pages.

CSS stands for Cascading Style Sheets

This is used for styling purpose. HTML coding is just a structure and CSS is applied to dictate your website's look and feel. Font size, font color, font style styling of images, page layout, mouse-over effects and more are determined by CSS. The CSS applied over the above HTML coding is given below.

  1. .container {  
  2.   max-width1350px;  
  3.   width100%;  
  4.   margin50px;  
  5.   heightauto;  
  6.   displayblock;  
  7. }  
  9. body {  
  10.   color#8A2BE2;  
  11.   font-size20px;  
  12.   font-familyVerdanaArialHelveticamonospace;  
  13.   background-color#F0E8A0;  
  14. }  
  16. h2 {  
  17.   text-aligncenter;  
  18. }  
  20. .form_group {  
  21.   padding10px;  
  22.   ;    
  23. displayblock;  
  24. }  
  26. label {  
  27.   floatleft;  
  28.   padding-right50px;  
  29.   line-height10%;  
  30.   displayblock;  
  31.   width208px;  
  32. }   
Here you would be wondering why I have used <div> in html. Let me explain you the importance of using <div>.

The <div> element is often used as a layout tool.

We need to see how to use them later on in the body section of the page. To use your class, all you need to do is add the class=" " attribute to the tag you wish to have the style of your class. So, if you wanted a line of text to be red, you could add the class attribute to a <DIV> tag, like this:
<div class="form_group">. Here we have used this class because we can directly apply CSS on this class. The tags which has been opened should be closed also.

Now let us move further.

Step 5:  Apply CSS on the html code. General rules for applying css are:
We use dot(.) beside any class to apply effects into it and ‘#’ tag before any ID. E.g.

.container {
   // css attributes will be written here

Here I have taken container as a class. Class is user-defined.

Note: Save the Sign_Up page in the xampp folder->htdocs->create a new folder( user-defined). Inside this new folder you have to keep all the data related to your project. It may be any kind of images used in webpage, HTML coding or CSS coding. I mean to say all the things that are used in creating a web page must be under one roof (i.e under one folder). 

                                                                        Figure: Sign_Up

After writing the HTML code and applying the above CSS, the registration page would look like above.

Next we will insert data into the fields of the sign_up page and store the information in MySQL.

For that we have to start the xampp controller. Start Apache and MYSQL in the XAMPP controller.

Now we will go to next level where we will make use of PHP syntax.

PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. PHP is an acronym for "PHP: Hypertext Preprocessor".

                                                            Figure: Xammp Start

PHP is a widely-used, open source scripting language. PHP scripts are executed on the server. PHP is free to download and use. PHP code are executed on the server, and the result is returned to the browser as plain HTML. PHP files have extension ".php". PHP can collect form data.

PHP can add, delete, modify data in your database. It runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.) and supports a wide range of databases. PHP is easy to learn and runs efficiently on the server side.

 PHP Variables (Rules)
  • A variable starts with the $ sign, followed by the name of the variable.
  • A variable name must start with a letter or the underscore character.
  • A variable name cannot start with a number.
  • Variable names are case-sensitive ($age and $AGE are two different variables).
Output Variable

The PHP ‘echo’ statement is often used to output data to the screen.


Write Html coding for sign_up page and save it as index.php. Again create a php page named connection.php where we will write the code for creating connection with database.

  1. <?php  
  2.        $servername = "localhost";  
  3.        $username = "root";  
  4.        $password = "";  
  5.        $conn = mysql_connect ($servername , $username , $passwordor die("unable to connect to host");  
  6.        $sql = mysql_select_db ('test',$connor die("unable to connect to database"); 
  7. ?>   
The PHP script are always written between (<?php (opening) and ?> closing).

Here as you are seeing that I have used user-defined variables to assign something. This makes me easy to write code effectively and in a clean way.

Here I have assigned localhost to $servername, ’root’ to $username and password has been left blank. Again I have written mysql_connect()—this is mainly used to open a connection to mysql server. Again we have used mysql_select_db()—this is used to select the database created in localhost/phpmyadmin.

Now let us create a database in MySQL. The phpmyadmin window will look like the following screenshot:

Here you can create your own database and as many tables inside that.

Suppose here I have created a database named ‘test’, inside that I have created a table named ‘registration’. In this table we will create fields that are used in our registration form such as fname, mname, lname, pwd, cnf, mail, number, sex, address, code, city, country, skills, attach_file.

Note: Here we can write any name for the concerned fields, just keep in mind the names you have given for the relative fields.

You can create table manually or by writing queries. Here, I have created it manually.

insert fields
                                                                        Figure: Insert fields

Here write data type (most of the times we use varchar), length in numbers. After filling the fields name click Go to continue.

After inserting you can view the inserted fields where the data will be fetched from the form.

The structure is as in the following screenshot:
                                                                           Figure: Structure

Now create another php page and name it modified.php.

In this page we will write code to see how we can fetch data from the fields.

For this we will make use of form methods through which we will retrieve the data entered into the fields and store it into our myql database.
The method attribute specifies how to send form-data (the form-data is sent to the page specified in the action attribute). The form-data can be sent as URL variables (with method="get") or as HTTP post transaction (with method="post").

Basically we use any of the following two methods to fetch data from the fields.
  • GET Method: The GET method produces a long string that appears in the browser's Location. It has a restriction of sending upto 1024 characters only. We should never use GET method if we have password or other sensitive information to be sent to the server. The PHP provides $_GET associative array to access all the information sent using GET method.

  • POST Method: In this method parameters are not saved in browsers history. Data is not shown in the browser's URL. POST is safer than GET. The PHP provides $_POST associative array to access all the information sent using POST method.
Here I have included listing.php file because in this php file I have written the code for listing all the inserted data.
  1. <?php    
  3. include "connection.php";    
  5. if(isset($_GET['id'])){    
  6. $sql = "delete from registration where id = '".$_GET['id']."'";    
  7. $result = mysql_query($sql);    
  8. }    
  10. $sql = "select * from registration";    
  11. $result = mysql_query($sql);    
  12. ?>    
  13. <html>    
  14.     <body>    
  15.         <table width = "100%" border = "1" cellspacing = "1" cellpadding = "1">    
  16.             <tr>    
  17.                 <td>Id</td>    
  18.                 <td>First Name</td>    
  19.                 <td>Middle Name</td>    
  20.                 <td>Last Name</td>    
  21.                 <td>Password</td>    
  22.                 <td>Confirm Password</td>    
  23.                 <td>Email</td>    
  24.                 <td>Contact No.</td>    
  25.                 <td>Gender</td>    
  26.                 <td>Address</td>    
  27.                 <td>Pincode</td>    
  28.                 <td>City</td>    
  29.                 <td>Country</td>    
  30.                 <td>Skills</td>    
  31.                 <td>Files</td>    
  32.                 <td colspan = "2">Action</td>    
  33.             </tr>    
  34.         </table>    
  35.     </body>    
  36. </html>    
Now write a php code in this page only.

Note: We have to include connection.php file in all the pages because the connection code has been written in connection.php file only. Until and unless the connection is established, the data can’t be sent to the database. Here I have written an IF-ELSE condition to check whether any id is coming or not.

The isset () function is used to check whether a variable is set or not.

Then I have written a query for delete and saved in a local variable named $sql.

After that mysql_query() is used to execute the query written above. Again we have written a query to select all the elements of the table created.
  1. <?php    
  3. while($row = mysql_fetch_object($result)){    
  6. ?>  
  7.     <tr>  
  8.         <td>  
  9.             <?php echo $row->id;?>  
  10.         </td>  
  11.         <td>  
  12.             <?php echo $row->fname;?>  
  13.         </td>  
  14.         <td>  
  15.             <?php echo $row->mname;?>  
  16.         </td>  
  17.         <td>  
  18.             <?php echo $row->lname;?>  
  19.         </td>  
  20.         <td>  
  21.             <?php echo $row->pwd;?>  
  22.         </td>  
  23.         <td>  
  24.             <?php echo $row->cnf;?>  
  25.         </td>  
  26.         <td>  
  27.             <?php echo $row->mail;?>  
  28.         </td>  
  29.         <td>  
  30.             <?php echo $row->number;?>  
  31.         </td>  
  32.         <td>G  
  33.             <?php echo $row->sex;?>  
  34.         </td>  
  35.         <td>  
  36.             <?php echo $row->address;?>  
  37.         </td>  
  38.         <td>  
  39.             <?php echo $row->code;?>  
  40.         </td>  
  41.         <td>  
  42.             <?php echo $row->city;?>  
  43.         </td>  
  44.         <td>  
  45.             <?php echo $row->country;?>  
  46.         </td>  
  47.         <td>  
  48.             <?php echo $row->skills;?>  
  49.         </td>  
  50.         <td>  
  51.             <?php echo $row->attach_file;?>  
  52.         </td>  
  53.         <td> <a href="listing.php?id =     
  54.             <?php echo $row->id;?>" onclick="return confirm('Are You Sure')">Delete    
  55.         </a> | <a href="index.php?id =     
  56.             <?php echo $row->id;?>" onclick="return confirm('Are You Sure')">Edit    
  57.         </a> </td>  
  58.         <tr>  
  59.             <? php } ?>  
In the same page that is modified.php, now we will write another group of code for displaying the data into the table created.

For that we will write a while condition where we will fetch the data from the database until and unless the data is coming.

Here I have saved the query mysql_fetch_object() into a local variable ‘$row’.

Then I have echoed the relative fields data into the corresponding table entry.

Now this tutorial of insertion of data into the database and showing it in the form of lists has been successfully completed.

Have a look on the final result.

                                                                                                                              Figure: Final View