Sign Up

Tutorial to create a login system using HTML, PHP, and MySQL

This is a tutorial for creating a login system with the help of HTML, PHP, and MySQL. Your website needs to be dynamic and your visitors need to have instant access to it. Therefore, they want to log in as many times as possible. The login authentication system is very common for any web application. It allows registered users to access the website and members-only features. It is also helpful when we want to store information for users. It covers everything from shopping sites, educational sites, and membership sites, etc.

This tutorial is covered in 4 parts.

Table of Contents

1) Building a Signup system

In this part, We will create a signup system that allows users to create a new account to the system. Our first step is to create a HTML registration form. The form is pretty simple to create. It only asks for a name, email, password, and confirm password. Email addresses will be unique for every user. Multiple accounts for the same email address are not allowed. It will show an error message to the users who try to create multiple accounts with the same email address.

Читайте также:  Html input увеличить шрифт

Step 1: Creating Registration Form in HTML

We will create a PHP file named register.php with the following code in it. This is a simple HTML form with some basic validation. If you are not familiar with HTML then you can get it from many online sites who give ready-made html5 login form templates.

       

Register

Please fill this form to create an account.

Already have an account? Login here.

The output of the above HTML form will look like this.

Sign Up

All the input fields are required by adding the «required» attribute which is the default HTML attribute. The use of type=»email» will validate the email address provided by users and gives an error if the email address is not valid. For the registration form, we have used bootstrap for rapid development. If you want to save your time on HTML code you can always use some free html5 templates for your project.

Step 2: Creating the MySQL Database Table

You will need to create a new database with any suitable name you want. After that please execute the below SQL query to create the user’s table inside your newly created MySQL database.

CREATE TABLE `users` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(75) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;

Step 3: Creating Database Configuration File

Now, we have created the users table. Let’s create a new PHP file named config.php to connect with the MySQL database. Paste the following code in the config.php file and change the database name to whatever you choose while creating the database.

Step 4: Creating a Session File

Let’s create a file named session.php. In this file, we will start the session and check if a user is already logged in, if yes then we will redirect the user to welcome.php file.

Step 5: Create Registration Form in PHP

Finally, it’s time to create a PHP code that allows users to register their accounts into the system. This PHP code will alert users with an error if any user is already registered with the same email address.

Replace the following code in the register.php file.

prepare("SELECT * FROM users WHERE email = ?")) < $error = ''; // Bind parameters (s = string, i = int, b = blob, etc), in our case the username is a string so we use "s" $query->bind_param('s', $email); $query->execute(); // Store the result so we can check if the account exists in the database. $query->store_result(); if ($query->num_rows > 0) < $error .= '

The email address is already registered!

'; > else < // Validate password if (strlen($password ) < 6) < $error .= '

Password must have atleast 6 characters.

'; > // Validate confirm password if (empty($confirm_password)) < $error .= '

Please enter confirm password.

'; > else < if (empty($error) && ($password != $confirm_password)) < $error .= '

Password did not match.

'; > > if (empty($error) ) < $insertQuery = $db->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?);"); $insertQuery->bind_param("sss", $fullname, $email, $password_hash); $result = $insertQuery->execute(); if ($result) < $error .= '

Your registration was successful!

'; > else < $error .= '

Something went wrong!

'; > > > > $query->close(); $insertQuery->close(); // Close DB connection mysqli_close($db); > ?>

Register

Please fill this form to create an account.

Already have an account? Login here.

Once user click on submit button it will check if $_SERVER[«REQUEST_METHOD»] == «POST» and $_POST[‘submit’] variable has been set. For security concerns, we always suggest not to store the password as plain text in the database. We have used password_hash() function which creates a new password hash using a strong one-way hashing algorithm.

The above PHP script will validate that no user is registered with the same email address and also validate password. After validation is confirmed we store the user-provided information in the users’ table and alert the user that registration was successful.

2) Building a Login System

In this part, we will create a login form to allow users to access the restricted area of the system. In our case, the restricted area is a welcome page which we will cover in the next part.

Step 1: Creating a Login Form in HTML

Below is the Login Form in HTML. Paste it in a file named login.php

       

Login

Please fill in your email and password.

Don't have an account? Register here.

The output of the above code will look like this

Login

Step 2: Creating a Login System in PHP

After creating the login form in HTML, we will write a code to validate login credentials. On form submit we will check that the email and password are filled. If they filled then we will execute a SELECT query to find the record in a database on the basis of email and password. If any record found, then we will store the «userID» in session and the user is redirected to the welcome.php file, otherwise, the user is alerted with an error message.

Let’s replace the following code in the login.php file.

Please enter email.

'; > // validate if password is empty if (empty($password)) < $error .= '

Please enter your password.

'; > if (empty($error)) < if($query = $db->prepare("SELECT * FROM users WHERE email = ?")) < $query->bind_param('s', $email); $query->execute(); $row = $query->fetch(); if ($row) < if (password_verify($password, $row['password'])) < $_SESSION["userid"] = $row['id']; $_SESSION["user"] = $row; // Redirect the user to welcome page header("location: welcome.php"); exit; >else < $error .= '

The password is not valid.

'; > > else < $error .= '

No User exist with that email address.

'; > > $query->close(); > // Close connection mysqli_close($db); > ?>

Login

Please fill in your email and password.

Don't have an account? Register here.

3) Creating a Welcome Page

Below is the code for the welcome.php file. Users will be redirected to this page after a successful login process. We have added some code at the top of the page to check if the user is not logged in, then redirect the user to the login page.

Let’s create a welcome.php file and paste the following code in it.

 ?>    Welcome   

Hello, . Welcome to demo site.

Log Out

4) The Logout script

Finally, Let’s create a logout.php file with the following code in it.

Once the user clicks on the Log Out link, the above script, will be called to destroy the session and redirect user to the login.php file.

Conclusion

In this tutorial, I explained how you can create a Login System using HTML, PHP and MySQL. Once you understand how simple it is to create a login system you can add other features like reset password, forgot password, verify email address, edit user’s profile, etc.

Источник

PHP Login Template

php-login-template

Introduction to PHP Login Template

In this article, we will learn about PHP Login Template. The moment we talk about a web application, we need to have a login page to get access to it. This is one of the basic requirements to have the login page. The Login Page is one of the required pages where there is restricted access in any web application. Most of the login page comes up with the two fields only. Usually, the username is considered the first field and the second one will be the password one. There is no fixed opinion for the login page template. We can go with any login page template as per our business requirements.

Web development, programming languages, Software testing & others

As per the syntax of the login page is concerned, there is no thumb rule to follow while working for the login page design. In this article, we will see a few examples of the login template. If we ask 5 people to come up with a login page template or the design, they could come up with 5 different as there are no industry standards as per its look and feel is concerned. So, in the coming sections, we will see the progressive view of the login page template and how we can create this page as well.

How does it work?

Any login page in the PHP is not possible by using the PHP only. A template of the PHP Login combines the various other technology like JavaScript, HTML, CSS, MySql database, etc. Now, let’s see the role of each entity one by one.

HTML: HTML is one of the basic building blocks of any web page of the application. The required of the login page will be written in this HTML only.

      


PHP Login Template - 1

We can see, the look and the UI of this page is not professional enough we can move ahead with.

  • CSS: CSS is again the very basic need in the web application. We can use this CSS to beautify our login page. We have various options available in the CSS we can use to put a professional look of the above login page. We can use the background color of the form. We can use the border of the form and various other related things.
  • JavaScript/jQuery: A JavaScript is one of the scripts we can use for the client-side validation. We can use JavaScript to display the error message as per our business needs. For example, we can stop the form submission if any of the fields (either username or password or both) is not filled. This is again a value-added if we use JavaScript or jQuery in while coding for the login page.

All the above mentioned is good enough for designing a login page. But if we want to process with the complete login then we need to have the PHP and a Database (MYSQL or any other) as well.

Examples to Implement PHP Login Template

Now, it’s time to see various login page examples. We are moving ahead with the same HTML code mentioned above. We will see various templates using the above code or making a bit of modification in the above code.

Example #1

      
body .head < margin-left: 98px; font-size: 20px; font-weight: 900; text-transform: uppercase; >#login_form < color: blue; font-size: larger; border: 1px solid red; padding: 7px; >.form-element #Login < font-weight: 900; background: red; margin-left: 110px; padding: 11px; color: #fff; >label

PHP Login Template - 2

Example #2

In this login page template, we will see the more interactive as compared to the previous one. We will be using some more advanced CSS.

     

Welcome to the Website!

body < margin-left: 30%; margin-top: 5%; max-width: 350px; background: #c0c078; >.head < margin-left: 98px; font-size: 20px; font-weight: 900; text-transform: uppercase; >#login_form < font-size: larger; border: 1px dotted #3406ed; padding: 10px; >.form-element #Login < font-weight: 900; margin-left: 132px; padding: 7px; color: red; >label h4

using some more advanced CSS

Example #3

In this example, we will see the different than the above two Login page layout.

      

Welcome

html < width: 100%; height: 100%; overflow: hidden; >body < width: 100%; height:100%; background: #465151; >h2 < color: #fff; text-shadow: 0 0 10px rgba(0,0,0,0.3); letter-spacing: 1px; text-align: center; >input < width: 100%; line-height: 4; margin-bottom: 10px; background: rgba(0,0,0,0.3); border: none; outline: none; font-size: 13px; color: #fff; text-shadow: 1px 1px 1px rgba(0,0,0,0.3); border: 1px solid rgba(0,0,0,0.3); border-radius: 4px; box-shadow: inset 0 -5px 45px rgba(100,100,100,0.2), 0 1px 1px rgba(255,255,255,0.2); -webkit-transition: box-shadow .5s ease; -moz-transition: box-shadow .5s ease; -o-transition: box-shadow .5s ease; -ms-transition: box-shadow .5s ease; transition: box-shadow .5s ease; >#submit < background-color: #4a77d4; padding: 25px 14px; font-size: 15px; line-height: normal >form#login_form < width: 30%; margin-left: 30%; margin-top:100px; >::placeholder

Login page layout.

Conclusion

PHP Login page is one of the required things in this era of the digital revolution. Since there is not any standard of making the login page template, so we can move ahead of any template as per our business requirements. It is always advisable to use the client-side validation before posting any login page request to the server.

This is a guide to PHP Login Template. Here we discuss the introduction, syntax, and working of the PHP login template along with examples and code implementation. You can also go through our other related articles to learn more –

25+ Hours of HD Videos
5 Courses
6 Mock Tests & Quizzes
Verifiable Certificate of Completion
Lifetime Access
4.5

92+ Hours of HD Videos
22 Courses
2 Mock Tests & Quizzes
Verifiable Certificate of Completion
Lifetime Access
4.5

83+ Hours of HD Videos
16 Courses
1 Mock Tests & Quizzes
Verifiable Certificate of Completion
Lifetime Access
4.5

PHP Course Bundle — 8 Courses in 1 | 3 Mock Tests
43+ Hours of HD Videos
8 Courses
3 Mock Tests & Quizzes
Verifiable Certificate of Completion
Lifetime Access
4.5

Источник

Оцените статью