How to Create Registration Page in PHP/MySQL

Related code: How to Create Secure Registration Page in PHP/MySQL This is a simple tutorial that will teach you on how to create a simple registration form using PHP/MySQL with JavaScript for input validation. This tutorial will not teach you on how to create a good design but rather to give you knowledge on how to create a fully functional registration form.

Creating our Table

First we are going to create our database which stores our data. To create a database: 1. Open phpmyadmin 2. Click create table and name it as simple_login. 3. Then name the database as "registration". 4. After creating a database name, click the SQL and paste the below code.
  1. CREATE TABLE IF NOT EXISTS `member` (
  2.   `mem_id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `username` varchar(30) NOT NULL,
  4.   `password` varchar(30) NOT NULL,
  5.   `fname` varchar(30) NOT NULL,
  6.   `lname` varchar(30) NOT NULL,
  7.   `address` varchar(100) NOT NULL,
  8.   `contact` varchar(30) NOT NULL,
  9.   `picture` varchar(100) NOT NULL,
  10.   `gender` varchar(10) NOT NULL,
  11.   PRIMARY KEY (`mem_id`)
  12. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Creating The Form

Next step is to create a form and save it as index.php. To create a form, open your HTML code editor and paste the code below after the tag.
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <title>Registration</title>
  6. </head>
  7. <body>
  8.  
  9. <form name="reg" action="code_exec.php" onsubmit="return validateForm()" method="post">
  10.   <table width="274" border="0" align="center" cellpadding="2" cellspacing="0">
  11.     <tr>
  12.       <td colspan="2">
  13.         <div align="center">
  14.           <?php
  15.           // $remarks=$_GET['remarks'];
  16.           if (!isset($_GET['remarks']))
  17.           {
  18.             echo 'Register Here';
  19.           }
  20.           if (isset($_GET['remarks']) && $_GET['remarks']=='success')
  21.           {
  22.             echo 'Registration Success';
  23.           }
  24.           ?>  
  25.         </div></td>
  26.       </tr>
  27.       <tr>
  28.         <td width="95"><div align="right">First Name:</div></td>
  29.         <td width="171"><input type="text" name="fname" /></td>
  30.       </tr>
  31.       <tr>
  32.         <td><div align="right">Last Name:</div></td>
  33.         <td><input type="text" name="lname" /></td>
  34.       </tr>
  35.       <tr>
  36.         <td><div align="right">Gender:</div></td>
  37.         <td><input type="text" name="gender" /></td>
  38.       </tr>
  39.       <tr>
  40.         <td><div align="right">Address:</div></td>
  41.         <td><input type="text" name="address" /></td>
  42.       </tr>
  43.       <tr>
  44.         <td><div align="right">Contact No.:</div></td>
  45.         <td><input type="text" name="contact" /></td>
  46.       </tr>
  47.       <tr>
  48.         <td><div align="right">Username:</div></td>
  49.         <td><input type="text" name="username" /></td>
  50.       </tr>
  51.       <tr>
  52.         <td><div align="right">Password:</div></td>
  53.         <td><input type="text" name="password" /></td>
  54.       </tr>
  55.       <tr>
  56.         <td><div align="right"></div></td>
  57.         <td><input name="submit" type="submit" value="Submit" /></td>
  58.       </tr>
  59.     </table>
  60.   </form>
  61. </body>
  62. </html>

Creating our Connection

Next step is to create a database connection and save it as "connection.php". This file is used to connect our form to database. This file serves as a bridge between our form and our database.
  1. <?php
  2. $mysql_hostname = "localhost";
  3. $mysql_user = "root";
  4. $mysql_password = "";
  5. $mysql_database = "registration";
  6. $prefix = "";
  7.  
  8. $bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
  9. mysqli_select_db($bd, $mysql_database) or die("Could not select database");
  10. ?>

Writing Our Save Script

Next step is to create our script that save our input data to database and save it as code_exec.php.
  1. <?php
  2.  
  3. include('connection.php');
  4.  
  5. $fname=$_POST['fname'];
  6. $lname=$_POST['lname'];
  7. $mname=$_POST['mname'];
  8. $address=$_POST['address'];
  9. $contact=$_POST['contact'];
  10. $username=$_POST['username'];
  11. $password=$_POST['password'];
  12.  
  13. mysqli_query($bd, "INSERT INTO member(fname, lname, gender, address, contact, picture, username, password)VALUES('$fname', '$lname', '$mname', '$address', '$contact', '$pic', '$username', '$password')");
  14.  
  15. header("location: index.php?remarks=success");
  16.  
  17. ?>

Validating The Input

To add some input validation using javascript, add the code below in the head tag of your index.php file. Input validation is used to make sure that all input field are filled out before saving the to database.
  1. <script type="text/javascript">
  2.   function validateForm()
  3.   {
  4.     var a=document.forms["reg"]["fname"].value;
  5.     var b=document.forms["reg"]["lname"].value;
  6.     var c=document.forms["reg"]["gender"].value;
  7.     var d=document.forms["reg"]["address"].value;
  8.     var e=document.forms["reg"]["contact"].value;
  9.     var f=document.forms["reg"]["username"].value;
  10.     var g=document.forms["reg"]["password"].value;
  11.     if ((a==null || a=="") && (b==null || b=="") && (c==null || c=="") && (d==null || d=="") && (e==null || e==""))
  12.     {
  13.       alert("All Field must be filled out");
  14.       return false;
  15.     }
  16.     if (a==null || a=="")
  17.     {
  18.       alert("First name must be filled out");
  19.       return false;
  20.     }
  21.     if (b==null || b=="")
  22.     {
  23.       alert("Last name must be filled out");
  24.       return false;
  25.     }
  26.     if (c==null || c=="")
  27.     {
  28.       alert("Gender name must be filled out");
  29.       return false;
  30.     }
  31.     if (d==null || d=="")
  32.     {
  33.       alert("address must be filled out");
  34.       return false;
  35.     }
  36.     if (e==null || e=="")
  37.     {
  38.       alert("contact must be filled out");
  39.       return false;
  40.     }
  41.     if (f==null || f=="")
  42.     {
  43.       alert("username must be filled out");
  44.       return false;
  45.     }
  46.     if (g==null || g=="")
  47.     {
  48.       alert("password must be filled out");
  49.       return false;
  50.     }
  51.   }
  52. </script>
That's it! You've been successfully created your simple registration form with javascript for the input validation. Registration using php, input validation using javascript. Update: I have created another tutorial using a server side validation. And I am also using PDO to secure the registration page. Click here to see my latest update How to Create Registration Page in PHP/MySQL Using PDO Query. Related code: How to Create Secure Registration Page in PHP/MySQL

Comments

Thanks for the tutorial...its really nice....but for the picture uploading.....is it text or picture....am a little bit confused there....maybe you should please shed more light to that.....

Yeah, i would really like this portion to be treated. I am in need of the picture section to work well. Thank you. Cheers!

Guys, you don't store pictures in a database. You store the location of the picture, hence the datatype will be text. This doesn't resolve how to browse/upload/resize/store a picture, which I believe is beyond the scope of this tutorial. Hope this sheds some light on why the datatype is (and should be) text.

Nice, but the picture is in text datatype, and secondly no upload file input for the picture?it says text. This tutorial doesn't help in picture upload. but great work!

In reply to by Anonymous (not verified)

change the text type for input type to file i.e

realy nice tutorial !!!!!!!!!!! thanks for the same

Too many testing the other script. found error. but this code works perfect. im combine with login. it just ALL PERFECT thanks. :)

I learn the concept easily through your coding. i got one error msg when i click for register link.. "Undefined index: remarks in C:\wamp\www\Simple_login\register.php on line 7" remarks variable is not present in table. but i create that variable again i got error. help me to rectify. beginner to php mysql. Thanks,

thank you so much for this tutorial, it works perfectly. I need this for a fourth year project. Took me less than 5 minutes to add it to my site. I love you!!

okay how do i get rid of coloums like all i want is username and password and i managed to mix it all around so username and password are required because before they weren't can u send me an entire code and the check code that is supposed to be in the head that works and is just Username: and Password: and the database code it would really help alot

Where are you pulling this info from? $remarks=$_GET['remarks'];

In reply to by Anonymous (not verified)

An answer for this question?

i have copy paste all your code and upload with cpannel in my server
but when i put detail and submit it:NO ANY RESPONSE:??

wow, very helpful and precisely explained.

i dont get it.

In reply to by Anonymous (not verified)

i dont get it

Plese, I would like download all files in .zip/rar. Could you link the data here?

my form is not submitting values into the table..:(

In reply to by Anonymous (not verified)

do you mean when you try to submit it say success and when you check the DB and Table its still empty - - - - hahaha - - - same with me - - - - but i solved it immediately IDK maybe many ddnt notice or just ignore it NOTICE in creating the db the ARRANGMENT OF COLUMNS e.g memid,username,password . . . IT should be the same in "insert query" e.g mysql_query("INSERT INTO members (username, password,. . . .) VALUES ('$username', '$password', . . . . .)"); -------- get it.? thats how i solved it

In reply to by Anonymous (not verified)

Help me to solve it? anyone??

Tried and Tied :( Please help me in solving these errors Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/xxx/public_html/zzz.com/new/code_exec.php:1) in /home/xxx/public_html/zzz.com/new/code_exec.php on line 2 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/xxx/public_html/zzz.com/new/code_exec.php:1) in /home/xxx/public_html/zzz.com/new/code_exec.php on line 2 Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/zzz.com/new/code_exec.php:1) in /home/xxx/public_html/zzz.com/new/code_exec.php on line 13 Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/xxx/public_html/zzz.com/new/code_exec.php on line 14

he he

Im have problem with $remarks=$_GET['remarks']; anybody got a solution to that ?

Thanks

error on remark what should i do?

Worked well For me... Well compiled for a beginner...

yes i did it but i need also the code for logging in can you help me guys ? im about 1 week in trying and trying to code a register and log in i php. this is for my project . help me please?

Your codes were excellent but I'm experiencing error in $remarks=$_GET['remarks']. Can you please help me with this error? Thank you so much in advance.

Notice: Undefined index: remarks in C:\xampp\htdocs\index.php on line 76

You know... there are 25k+ people have looked at this page and I bet a lot have benefitted from this awesome nicely laid out tutorial and didn't bother to post a 'thank you'. I'm not going to be one of them. So... Thank you!!!!

i am getting a notice that undefined index:remarks
other than that all the code is working and registration is also successfull.please help in that error...

just replace this line in index.php: 7. $remarks=$_GET['remarks']; with this instead. 7. if (!isset($_GET['remarks'])) {$remarks=""; } else {$remarks=$_GET['remarks']; } It tests to see if remarks is set. If it isn't, it will set it to empty.

In reply to by Anonymous (not verified)

thank you very much. . . :D

In reply to by Anonymous (not verified)

Thnx alot brother :)

In reply to by Anonymous (not verified)

thannks that cleared the error. but now have another problem Could not select database

In reply to by Anonymous (not verified)

change ur database name in connection.php to simple_login...where it is wrongly entered as registration.

In reply to by Anonymous (not verified)

thank you

Good day to you, please i just replace -$remarks=$_GET['remarks]-with (if -!isset($_GET['remarks'])) {$remarks=""; } else {$remarks=$_GET['remarks']; }- but I am now getting another error on the same line -Parse error: syntax error, unexpected 'if' (T_IF) in C:\xampp\htdocs\unibenictwebform\index.php on line 7- please help

In reply to by Anonymous (not verified)

Thank you so much you are a life saver for giving the correct statement and thank you argie for this very detailed work

i tried this code.but i got errors.

hello am newly about this php.am getting errors in the validation.

thanks a lot

Add new comment