Tutorials Navigation

Tutorials :: New :: Popular :: Top Rated

Tutorials: 18,326 Categories: 12

Total Tutorial Views: 41,381,441

[PHP] - How to Create a simple Registration , Login Script

Tutorial Name: [PHP] - How to Create a simple Registration , Login Script  

Category: PC Tutorials

Submitted By: Cyimking

Date Added:

Comments: 11

Views: 36,776

Related Forum: PC Building Forum

Share:

In this tutorial, i will be explaining how to create a simple Registration , Login Scripts

What I will Cover:
- How to create a Registration Script
- How to create a login / logout Script
- PHP / MySQL programming languages

Things You will Need:
- Basic Knowledge of PHP, MySQL, and HTML
- A Host for PHP (Can be localhost)
- A MySQL Server (Commonly, PHPmyADMIN is used)
- A Will to Learn
- 5 files => config.php , members.php , register.php , login.php, logout.php

Notes:
- These are simple scripts. Which mean there aren't made for publishing. I will create an advanced tutorial in due time.
- I will not use MD5 in this tutorial
- There are some section of this code that i will not discuss (MySQL Injections)
- Do not FLAME. This tutorial took a while to create, thus only point out the errors or any confusion. I will make the corrections.
- Code might be sloppy. However, it's simple and new developers can learn from this.
- I will write down the method, then provide the code.
- No i didn't copy and paste.

Lets Begin.

1) Create the DB and Table.
- In this tutorial, we will keeps things pretty simple.

Step 1: Creating the Database.
- Open up your MySQL Server (e.g. phpmyadmin)
- Create a new DB. We will be naming it our website's name.

Step 2: Creating the Table
- Locate the DB we just created, then create the Table. (Located under structure).
- We will be naming it "members" and we will having 3 columns.
- The 3 columns that we will be adding are: id, username, and password.
- Check Picture for More Info

[ Register or Signin to view external links. ]

- Save.

-----------------------------------------------------------------------------------------------------
--

2) Connecting the MySQL Server AND DB to our webpage.

Step 1: Open config.php

Step 2: Set Variables of the MySQL Server.

//Information to connect to your MySQL Server AND DB
$host     = "localhost";
$username = "root";
$password = "";
$db       = "mysite";



Step 3: Connect to the Server. If it can't connect then we will output that.

$con = mysqli_connect($host,$username,$password,$db) or die("Can not connect to Server.");


Final Code

<?php
/*
NOTES:
1) THIS IS A SIMPLE SCRIPT, SO I WILL USE IF/ELSE STATEMENTS. THE CODE IS VERY SIMPLE. IT MIGHT BE SLOPPY BUT IT'S SIMPLE.
2) IN THE ADVANCED TUTORIAL I WILL ADD CLASSES / METHODS!
3) I WILL NOT USE MD5 IN THIS TUTORIAL
4) YOU MUST KNOW BASIC MYSQL AND PHP, IF NOT THEN GOOGLE SOME TUTORIALS.
5) DO NOT SUGGEST ANY COMPLICATIONS. THIS IS FOR NEW PHP DEVELOPERS NOT ADVANCED DEVELOPERS.
6) I DIDN'T MAKE THE VARIABLES FINAL ON PURPOSE! DON'T FLAME.
*/

//Information to connect to your MySQL Server AND DB
$host     = "localhost";
$username = "root";
$password = "";
$db       = "mysite";

//Connect to MySQL Server
$con = mysqli_connect($host,$username,$password,$db) or die("Can not connect to Server.");

?>


-----------------------------------------------------------------------------------------------------
--------------------


3) Register the member!.
- Display a form
- Once the user click submit, we will redirect to the same file and run a series a checks.
- Check => See if the user enter all the fields (Username, Password, Repeat Password), if the passwords matches, and if the username exist
- If the user pass all the test then we will add the user into the DB.
-- In order to do this, we will need to query the DB. (Select * From TABLE NAME Where Username = '$user')
-- Then we will need to check the rows. If a row is detected (row will return 1) then a username is already registered.
--- We will need to insert the username and password into the DB table. If the username doesn't exist.

- Register.php File


<?php

/*
NOTES:
1) THIS IS A SIMPLE SCRIPT, SO I WILL USE IF/ELSE STATEMENTS. THE CODE IS VERY SIMPLE. IT MIGHT BE SLOPPY BUT IT'S SIMPLE.
2) IN THE ADVANCED TUTORIAL I WILL ADD CLASSES / METHODS!
3) I WILL NOT USE MD5 IN THIS TUTORIAL
4) YOU MUST KNOW BASIC MYSQL AND PHP, IF NOT THEN GOOGLE SOME TUTORIALS.
5) DO NOT SUGGEST ANY COMPLICATIONS. THIS IS FOR NEW PHP DEVELOPERS NOT ADVANCED DEVELOPERS.
 
*/


session_start();  //Must Start a session.

require "config.php"; //Connection Script, include in every file!

//Check to see if the user is logged in.
//'isset' check to see if a variables has been 'set'
if(isset($_SESSION['username'])){
   header("location: members.php");
}

//Check to see if the user click the button
if(isset($_POST['submit']))
{
   //Variables from the table
   $user  = $_POST['user'];
   $pass  = $_POST['pass'];
   $rpass = $_POST['rpass'];
   
   //Prevent MySQL Injections
   $user  = stripslashes($user);
   $pass  = stripslashes($pass);
   $rpass = stripslashes($rpass);
   
   $user  = mysqli_real_escape_string($con, $user);
   $pass  = mysqli_real_escape_string($con, $pass);
   $rpass = mysqli_real_escape_string($con, $rpass);
   
   //Check to see if the user left any space empty!
   if($user == "" || $pass == "" || $rpass == "")
   {
      echo "Please fill in all the information!";
   }
   
   else
   {
      //Check too see if the user's Passwords Matches!
      if($pass != $rpass)
      {
         echo "Passwords do not match! Try Again";
      }
      
      //CHECK TO SEE IF THE USERNAME IS TAKEN, IF NOT THEN ADD USERNAME AND PASSWORD INTO THE DB
      else
      {
         //Query the DB
         $query = mysqli_query($con,"SELECT * FROM members WHERE username = '$user'") or die("Can not query the TABLE!");
         
         //Count the number of rows. If a row exist, then the username exist!
         $row = mysqli_num_rows($query);
         if($row == 1)
         {
            echo "Sorry, but the username is already taken! Try again.";
         }
         
         //ADD THE USERNAME TO THE DB
         else
         {
            $add = mysqli_query($con,"INSERT INTO members (id, username, password) VALUES (null, '$user' , '$pass') ") or die("Can't                Insert! ");
            echo "Successful! <a href='members.php'> Click Here </a> to log In.";
         }
         
         
      }      

   }
   
}
?>

<html>
<table width="300" align="center" cellpadding="0" cellspacing="1" border="1px solid black">

<tr>
<form name="register" method="post" action="register.php">
<td>

<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">

<tr>
<td colspan="3"><strong><center>Registration</center></strong></t
d>
</tr>

<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="user" type="text" id="user"></td>
</tr>

<tr>
<td>Password</td>
<td>:</td>
<td><input name="pass" type="password" id="pass"></td>
</tr>

<tr>
<td>Repeat Password</td>
<td>:</td>
<td><input name="rpass" type="password" id="rpass"></td>
</tr>

<tr>
<td></td>
<td></td>
<td><input type="submit" name="submit" value="Register"></td>
</tr>

</table>
</td>
</form>
</tr>
</table>

</html>


-----------------------------------------------------------------------------------------------------
-------------

4) Logging in a member
- Display a Form for the member (Username and Password)
- Once clicked, we will process the form and do some checks.
- Checks => See if the user left any blank spaces, if the username / pass matches the DB username and password
- If the user pass the Checks, then we will create a session for that user.

-login.php file


<?php

/*
NOTES:
1) THIS IS A SIMPLE SCRIPT, SO I WILL USE IF/ELSE STATEMENTS. THE CODE IS VERY SIMPLE. IT MIGHT BE SLOPPY BUT IT'S SIMPLE.
2) IN THE ADVANCED TUTORIAL I WILL ADD CLASSES / METHODS!
3) I WILL NOT USE MD5 IN THIS TUTORIAL
4) YOU MUST KNOW BASIC MYSQL AND PHP, IF NOT THEN GOOGLE SOME TUTORIALS.
5) DO NOT SUGGEST ANY COMPLICATIONS. THIS IS FOR NEW PHP DEVELOPERS NOT ADVANCED DEVELOPERS.
*/

session_start();
require "config.php"; //Connection Script, include in every file!

//Check to see if the user is logged in.
if(isset($_SESSION['username'])){
   header("location: members.php"); //isset check to see if a variables has been 'set'
}



if(isset($_POST['submit']))
{
   //Variables from the table
   $user  = $_POST['user'];
   $pass  = $_POST['pass'];
      
   //Prevent MySQL Injections
   $user  = stripslashes($user);
   $pass  = stripslashes($pass);
   
   $user  = mysqli_real_escape_string($con, $user);
   $pass  = mysqli_real_escape_string($con, $pass);
   
   //Check to see if the user left any space empty!
   if($user == "" || $pass == "")
   {
      echo "Please fill in all the information!";
   }
   
   //Check to see if the username AND password MATCHES the username AND password in the DB
   else
   {
      $query = mysqli_query($con,"SELECT * FROM members WHERE username = '$user' and password = '$pass'") or die("Can not query DB.");
      $count = mysqli_num_rows($query);
      
      if($count == 1){
         //YES WE FOUND A MATCH!
         $_SESSION['username'] = $user; //Create a session for the user!
         header ("location: members.php");
      }
      
      else{
         echo "Username and Password DO NOT MATCH! TRY AGAIN!";
      }
   }
   
}

?>

<html>
<table width="300" align="center" cellpadding="0" cellspacing="1" border="1px solid black">

<tr>
<form name="register" method="post" action="login.php">
<td>

<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">

<tr>
<td colspan="3"><strong><center>Login </center></strong></td>
</tr>

<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="user" type="text" id="user"></td>
</tr>

<tr>
<td>Password</td>
<td>:</td>
<td><input name="pass" type="password" id="pass"></td>
</tr>

<tr>
<td></td>
<td></td>
<td><input type="submit" name="submit" value="Login"></td>
</tr>

</table>
</td>
</form>
</tr>
</table>

</html>



-----------------------------------------------------------------------------------------------------
------------------

5) Logging out a member
- We will want to destroy the session.
- We will not check to see if the user is logged in or not (Next Tutorial)


<?php
/*
NOTES:
1) THIS IS A SIMPLE SCRIPT, SO I WILL USE IF/ELSE STATEMENTS. THE CODE IS VERY SIMPLE. IT MIGHT BE SLOPPY BUT IT'S SIMPLE.
2) IN THE ADVANCED TUTORIAL I WILL ADD CLASSES / METHODS!
3) I WILL NOT USE MD5 IN THIS TUTORIAL
4) YOU MUST KNOW BASIC MYSQL AND PHP, IF NOT THEN GOOGLE SOME TUTORIALS.
5) DO NOT SUGGEST ANY COMPLICATIONS. THIS IS FOR NEW PHP DEVELOPERS NOT ADVANCED DEVELOPERS.
*/

session_start();
require "config.php";
session_destroy();

echo "You have successfully logged out. <a href='login.php'> Click here </a> to login!";

?>



-----------------------------------------------------------------------------------------------------
-----------------------------

6) Member's Page
- The member's page is normally referred as an Account page (Next Tutorial) or any pages that requires a member to be logged in.
- We will check to determine if the user is logged in or not (Check for an active Session).
- Tell the member to either log in or log out.


<?php
/*
NOTES:
1) THIS IS A SIMPLE SCRIPT, SO I WILL USE IF/ELSE STATEMENTS. THE CODE IS VERY SIMPLE. IT MIGHT BE SLOPPY BUT IT'S SIMPLE.
2) IN THE ADVANCED TUTORIAL I WILL ADD CLASSES / METHODS!
3) I WILL NOT USE MD5 IN THIS TUTORIAL
4) YOU MUST KNOW BASIC MYSQL AND PHP, IF NOT THEN GOOGLE SOME TUTORIALS.
5) DO NOT SUGGEST ANY COMPLICATIONS. THIS IS FOR NEW PHP DEVELOPERS NOT ADVANCED DEVELOPERS.
6) NOT NEEDED BUT IF YOU WANT THE ONLY USERS TO VIEW AN APPLICATION THEN THIS MIGHT BE USEFUL.
*/

//IF THE USER IS LOGGED IN THEN TELL THE USER, ELSE TELL THE USER TO LOG IN!
session_start();
require "config.php";

//Check to see if the user is logged in.
if(isset($_SESSION['username'])){
   echo "Hello ".$_SESSION['username'].", you are logged in. <br /> This the member's page! Nothing here :(. <a href='logout.php'>Click Here </a>to log out.";
}

else{
   echo "Please <a href='login.php'>Log In </a> to view the content on this page!";
}

?>

Ratings

Current rating: 4.06 by 300 users
Please take one second and rate this tutorial...

Not a Chance
1
2
3
4
5
6
7
8
9
10
Absolutely

Comments

"[PHP] - How to Create a simple Registration , Login Script" :: Login/Create an Account :: 11 comments

If you would like to post a comment please signin to your account or register for an account.

CyimkingPosted:

Do you guys want an advanced version?!

CyimkingPosted:

GamingBoosie hello, I really like your tut but i have one problem where do i put the log out code and where do i put the members code? Please reply asap


Each file have it's own page. So the logout page will contain the logout script. You will have a link that points to that URL which would destroy the session.

CyimkingPosted:

GamingBoosie It doesn't work for me, i followed every step carefully.


Which part didn't work? This is an old tutorial so parts may need to be updated! At some point, I will post an updated version!

GamingBoosiePosted:

It doesn't work for me, i followed every step carefully.

GamingBoosiePosted:

hello, I really like your tut but i have one problem where do i put the log out code and where do i put the members code? Please reply asap

OmastuhPosted:

Cyimking I can make an advance version if anyone wants me too. Will be much better than this tutorial as well.


I am looking forward to it! Nice tutorial though mate.

XGKModzSiiNPosted:

Wow, I am very impressed. i hope this helps out a lot of people!

CyimkingPosted:

Alright, I will try to get out a more advance tutorial by the end of April. School is keeping me pretty busy right now.

ValorPosted:

great, well organized tut mate!

CraigPosted:

Brilliant tutorial, 100% should submit the advanced one.