Assignment #3 - RaZaZeLwithstyle/ip-assignment3 GitHub Wiki

Assignment #3 - Dynamic website using PHP and MySQL, Form validation and deployment

Live: https://gentle-mountain-18126.herokuapp.com/

Abstract

The purpose of this project is to create a dynamic website using PHP and MySQL and implementing the features of form validation and deployment. Website consists of 3 pages. Registration page, Log In page, and Index page. Index page can only be accessed if user is logged in and to register successfully he needs to have a unique username and email address.

Introduction

As stated in the abstract, purpose of this project is to create a dynamic website. In Assignment #2 I have already implemented some of these features so for this assignment I just had to make sure the website is hosted and visible online, not just locally. I used Atom as my IDE, but this is entirely up to your preferences. In the root directory, we create 3 pages mentioned in the abstract which are: registration.php, login.php and index.php. Furthermore, I created style.css and linked it to other pages as an external css file, but I have not focus on css in this assignment, therefore I just linked it to make sure it works and to possibly come back to later to this website and boost it with preferable design. In this project, there are few different forms of validation, in order to make sure every user has its unique email and username. Additionally, people not registered cannot access the index page, so that is another form of validation. Passwords saved in the database are encrypted, in case someone gets unauthorized access to our database, the users' data stays secured.

Tools used for development

In developing this website HTML and CSS were used as they are the cornerstone of developing every almost website. PHP and MySQL are used as stated before, to make this website dynamic and Heroku was used for deploying the application so it can be visible to users on the internet. I used Atom (IDE) which assists in writing HTML and CSS, since it helps save time and correct the errors.

System Requirements

Web Browser on your device; Heroku; PHP; Git; Composer

Environmental Requirements

Operating System as preferred: Windows, Mac or Linux.

Results

Result of this project is a functional dynamic website which also included validation, authorization and password encryption in the build-up.

Future Work

Purpose of this project was making a dynamic website so not much attention was pointed towards the design of the website, so for the future work, styling of the website can be upgraded and some content better organized.

References

https://devcenter.heroku.com/articles/getting-started-with-php https://scotch.io/@phalconVee/deploying-a-php-and-mysql-web-app-with-heroku https://www.w3schools.com/ https://stackoverflow.com/