Login & Sign up using PHP


Project Overview

This is a simple, but multi functional login and signup web page system. This has the functionalities of:

  • User creating (sign up)
  • Sign Up Validating
  • User Login
  • Login Validating
  • Send User's Names to Dashboard page
  • Forgot Password with Verification Email Sending
  • Create new Password through Time Limited Token
  • Sign Up with Google (Continue with Google)
  • Maintain the User Database

I used PHPMailer for sending emails when forgot password functions and Google API Client Services for continue with google function.

  • PHP
  • HTML
  • CSS
  • JavaScript
  • MySQL
  • Bootstrap
  • Google API
  • PHPMailer
  • Google Cloud Console

Interfaces

User Sign Up

interface1
interface2

User Login and Dashboard

interface3
interface4
interface4

Forgot Password

interface3
interface4

Password Reset

interface3
interface4
interface4

Continue with Google

interface3
interface4
interface4


Used Technologies and Prerequisites

  • All the files are coded in PHP language with including HTML, CSS and JavaScript.
  • Bootstrap 5.2.3 is used for keep responsiveness.
  • Dashboard page is protected with PHP sessions.
  • MySQL is used for database management.
  • Prerequisites

  • Installed phpmailer v6.8 on PHP.
  • Installed google/apiclient v2.15.0 on PHP
  • Modify gconfig.php according to your google client Id and Secret.
  • Start the server and MySQL.
  • Create a database table named "users" .
  • Then import the "users.sql" file to that database. (you can use phpMyAdmin) This file has the database table structure that wanted to run this system.

Reflection and Learning

  • Through this project, I enhanced my PHP skills, effectively utilizing the language to build dynamic and interactive features within the scopes of user authentication, user account management and mailing systems.
  • Gained the database Management skills.
  • Learned more about using Google APIs and Google Cloud Console.
  • Awareness of Security principles such like sessions and built-in user authentication functions.
  • Experience with Version Control (GitHub).
  • Understanding of User-Centric and User-Friendly Design.
  • Improved Time Management, Testing and Quality Assurance skills.