{"id":1339,"date":"2022-11-28T08:45:21","date_gmt":"2022-11-28T00:45:21","guid":{"rendered":"https:\/\/hostscripter.com\/?p=1339"},"modified":"2022-11-28T08:45:21","modified_gmt":"2022-11-28T00:45:21","slug":"part-6-create-your-own-login-system-using-php-and-mysql","status":"publish","type":"post","link":"https:\/\/hostscripter.com\/?p=1339","title":{"rendered":"Part 6: Create your own Login System using PHP and MySql"},"content":{"rendered":"<h2 id=\"creatingtheprofilepage\">6. Creating the Profile Page<\/h2>\n<p>The profile page will display the account information for the logged-in user.<\/p>\n<p>Edit the\u00a0<i>profile.php<\/i>\u00a0file and add the following code:<\/p>\n<div class=\"code-header\"><\/div>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token php language-php\"><span class=\"token delimiter important\">&lt;?php<\/span>\r\n<span class=\"token comment\">\/\/ We need to use sessions, so you should always start sessions using the below code.<\/span>\r\n<span class=\"token function\">session_start<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token comment\">\/\/ If the user is not logged in redirect to the login page...<\/span>\r\n<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span><span class=\"token function\">isset<\/span><span class=\"token punctuation\">(<\/span><span class=\"token global\">$_SESSION<\/span><span class=\"token punctuation\">[<\/span><span class=\"token string\">'loggedin'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\r\n\t<span class=\"token function\">header<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'Location: index.html'<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n\texit<span class=\"token punctuation\">;<\/span>\r\n<span class=\"token punctuation\">}<\/span>\r\n<span class=\"token variable\">$DATABASE_HOST<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'localhost'<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$DATABASE_USER<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'root'<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$DATABASE_PASS<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">''<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$DATABASE_NAME<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'phplogin'<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$con<\/span> <span class=\"token operator\">=<\/span> <span class=\"token function\">mysqli_connect<\/span><span class=\"token punctuation\">(<\/span><span class=\"token variable\">$DATABASE_HOST<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token variable\">$DATABASE_USER<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token variable\">$DATABASE_PASS<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token variable\">$DATABASE_NAME<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token function\">mysqli_connect_errno<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\r\n\t<span class=\"token function\">exit<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'Failed to connect to MySQL: '<\/span> <span class=\"token punctuation\">.<\/span> <span class=\"token function\">mysqli_connect_error<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token punctuation\">}<\/span>\r\n<span class=\"token comment\">\/\/ We don't have the password or email info stored in sessions so instead we can get the results from the database.<\/span>\r\n<span class=\"token variable\">$stmt<\/span> <span class=\"token operator\">=<\/span> <span class=\"token variable\">$con<\/span><span class=\"token operator\">-<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token function\">prepare<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'SELECT password, email FROM accounts WHERE id = ?'<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token comment\">\/\/ In this case we can use the account ID to get the account info.<\/span>\r\n<span class=\"token variable\">$stmt<\/span><span class=\"token operator\">-<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token function\">bind_param<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'i'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token global\">$_SESSION<\/span><span class=\"token punctuation\">[<\/span><span class=\"token string\">'id'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$stmt<\/span><span class=\"token operator\">-<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token function\">execute<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$stmt<\/span><span class=\"token operator\">-<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token function\">bind_result<\/span><span class=\"token punctuation\">(<\/span><span class=\"token variable\">$password<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token variable\">$email<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$stmt<\/span><span class=\"token operator\">-<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token function\">fetch<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token variable\">$stmt<\/span><span class=\"token operator\">-<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token function\">close<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\r\n<span class=\"token delimiter important\">?&gt;<\/span><\/span><\/code><\/pre>\n<p>The above code retrieves additional account information from the database, as before with the home page, we didn&#8217;t need to connect to the database because we retrieved the data stored in sessions.<\/p>\n<p>We&#8217;re going to populate all the account information for the user and therefore we must retrieve the\u00a0<i class=\"hl\">password<\/i>\u00a0and\u00a0<i class=\"hl\">email<\/i>\u00a0columns from the database. We don&#8217;t need to retrieve the\u00a0<i class=\"hl\">username<\/i>\u00a0or\u00a0<i class=\"hl\">id<\/i>\u00a0columns because we&#8217;ve them stored in session variables that were declared in the\u00a0<i>authenticate.php<\/i>\u00a0file.<\/p>\n<p>After the closing tag, add the following code:<\/p>\n<div class=\"code-header\"><\/div>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token doctype\">&lt;!DOCTYPE html&gt;<\/span>\r\n<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>html<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>head<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>meta <span class=\"token attr-name\">charset<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>utf-8<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>title<span class=\"token punctuation\">&gt;<\/span><\/span>Profile Page<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>title<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>link <span class=\"token attr-name\">href<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>style.css<span class=\"token punctuation\">\"<\/span><\/span> <span class=\"token attr-name\">rel<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>stylesheet<span class=\"token punctuation\">\"<\/span><\/span> <span class=\"token attr-name\">type<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>text\/css<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>link <span class=\"token attr-name\">rel<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>stylesheet<span class=\"token punctuation\">\"<\/span><\/span> <span class=\"token attr-name\">href<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>https:\/\/use.fontawesome.com\/releases\/v5.7.1\/css\/all.css<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>head<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>body <span class=\"token attr-name\">class<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>loggedin<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>nav <span class=\"token attr-name\">class<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>navtop<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>div<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>h1<span class=\"token punctuation\">&gt;<\/span><\/span>Website Title<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>h1<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>a <span class=\"token attr-name\">href<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>profile.php<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>i <span class=\"token attr-name\">class<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>fas fa-user-circle<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>i<span class=\"token punctuation\">&gt;<\/span><\/span>Profile<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>a<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>a <span class=\"token attr-name\">href<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>logout.php<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>i <span class=\"token attr-name\">class<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>fas fa-sign-out-alt<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>i<span class=\"token punctuation\">&gt;<\/span><\/span>Logout<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>a<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>div<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>nav<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>div <span class=\"token attr-name\">class<\/span><span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span><span class=\"token punctuation\">\"<\/span>content<span class=\"token punctuation\">\"<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>h2<span class=\"token punctuation\">&gt;<\/span><\/span>Profile Page<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>h2<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>div<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>p<span class=\"token punctuation\">&gt;<\/span><\/span>Your account details are below:<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>p<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>table<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>tr<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>Username:<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span><span class=\"token php language-php\"><span class=\"token delimiter important\">&lt;?=<\/span><span class=\"token global\">$_SESSION<\/span><span class=\"token punctuation\">[<\/span><span class=\"token string\">'name'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token delimiter important\">?&gt;<\/span><\/span><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>tr<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>tr<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>Password:<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span><span class=\"token php language-php\"><span class=\"token delimiter important\">&lt;?=<\/span><span class=\"token variable\">$password<\/span><span class=\"token delimiter important\">?&gt;<\/span><\/span><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>tr<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>tr<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>Email:<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span><span class=\"token php language-php\"><span class=\"token delimiter important\">&lt;?=<\/span><span class=\"token variable\">$email<\/span><span class=\"token delimiter important\">?&gt;<\/span><\/span><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>td<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>tr<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>table<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>div<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>div<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n\t<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>body<span class=\"token punctuation\">&gt;<\/span><\/span>\r\n<span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>html<span class=\"token punctuation\">&gt;<\/span><\/span><\/code><\/pre>\n<p>A simple layout that will populate account information. If you navigate to the\u00a0<i>profile.php<\/i>\u00a0file, it will look like the following:<\/p>\n<div class=\"browser\">\n<div><span class=\"url\">http:\/\/localhost\/phplogin\/profile.php<\/span><\/div>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/loggedin-profile-page.png?resize=750%2C489&#038;ssl=1\" alt=\"PHP Loggedin Profile Page\" width=\"750\" height=\"489\" data-recalc-dims=\"1\" \/><\/div>\n<p>Remember, the passwords are encrypted, so you cannot see the decrypted password unless you create a new session variable and store the password in the\u00a0<i>authenticate.php<\/i>\u00a0file.<\/p>\n<div data-counters='false' data-style='square' data-size='small' data-url='https:\/\/hostscripter.com\/?p=1339' data-title='Part 6: Create your own Login System using PHP and MySql' class='linksalpha_container linksalpha_app_3'><a href='\/\/www.linksalpha.com\/share?network='facebook' class='linksalpha_icon_facebook'><\/a><a href='\/\/www.linksalpha.com\/share?network='twitter' class='linksalpha_icon_twitter'><\/a><a href='\/\/www.linksalpha.com\/share?network='googleplus' class='linksalpha_icon_googleplus'><\/a><a href='\/\/www.linksalpha.com\/share?network='mail' class='linksalpha_icon_mail'><\/a><\/div><div data-position='' data-url='https:\/\/hostscripter.com\/?p=1339' data-title='Part 6: Create your own Login System using PHP and MySql' class='linksalpha_container linksalpha_app_7'><a href='\/\/www.linksalpha.com\/share?network='facebook' class='linksalpha_icon_facebook'><\/a><a href='\/\/www.linksalpha.com\/share?network='twitter' class='linksalpha_icon_twitter'><\/a><a href='\/\/www.linksalpha.com\/share?network='googleplus' class='linksalpha_icon_googleplus'><\/a><a href='\/\/www.linksalpha.com\/share?network='mail' class='linksalpha_icon_mail'><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>6. Creating the Profile Page The profile page will display the account information for the logged-in user. Edit the\u00a0profile.php\u00a0file and add the following code: &lt;?php \/\/ We need to use [&hellip;]<\/p>\n","protected":false},"author":301,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":""},"categories":[4],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9KaPo-lB","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1341,"url":"https:\/\/hostscripter.com\/?p=1341","url_meta":{"origin":1339,"position":0},"title":"Part 7: Create your own Login System using PHP and MySql","author":"h05t5cr1pt3r","date":"November 28, 2022","format":false,"excerpt":"7. Creating the Logout Script Creating the logout script is straightforward. All you need to do is destroy the sessions that were declared in the authenticate file. Edit the\u00a0logout.php\u00a0file and add the following code: <?php session_start(); session_destroy(); \/\/ Redirect to the login page: header('Location: index.html'); ?> Initialize sessions, destroy them,\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/hostscripter.com\/?cat=4"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1329,"url":"https:\/\/hostscripter.com\/?p=1329","url_meta":{"origin":1339,"position":1},"title":"Part 1: Create your own Login System using PHP and MySql","author":"h05t5cr1pt3r","date":"November 28, 2022","format":false,"excerpt":"In this tutorial, I'll be teaching you how you can create your very own secure PHP login system. A login form is what your website's visitors can use to log in to your website to access restricted content, such as a profile page. We will leverage MySQL to retrieve account\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/hostscripter.com\/?cat=4"},"img":{"alt_text":"Secure Login System with PHP and MySQL","src":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/posts\/secure-login-system-php-mysql.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/posts\/secure-login-system-php-mysql.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/posts\/secure-login-system-php-mysql.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/posts\/secure-login-system-php-mysql.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1337,"url":"https:\/\/hostscripter.com\/?p=1337","url_meta":{"origin":1339,"position":2},"title":"Part 5: Create your own Login System using PHP and MySql","author":"h05t5cr1pt3r","date":"November 28, 2022","format":false,"excerpt":"5. Creating the Home Page The home page will be the first page our users see when they've logged-in. The only way they can access this page is if they're logged-in, whereas if they aren't, they will be redirected back to the login page. Edit the\u00a0home.php\u00a0file and add the following\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/hostscripter.com\/?cat=4"},"img":{"alt_text":"PHP Loggedin Home Page","src":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/loggedin-home-page.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/loggedin-home-page.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/loggedin-home-page.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/loggedin-home-page.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1335,"url":"https:\/\/hostscripter.com\/?p=1335","url_meta":{"origin":1339,"position":3},"title":"Part 4: Create your own Login System using PHP and MySql","author":"h05t5cr1pt3r","date":"November 28, 2022","format":false,"excerpt":"4. Authenticating Users with PHP Now that we have our database setup, we can go ahead and start coding with PHP. We're going to start with the authentication file, which will process and validate the form data that we'll send from our\u00a0index.html\u00a0file. Edit the\u00a0authenticate.php\u00a0file and add the following: <?php session_start();\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/hostscripter.com\/?cat=4"},"img":{"alt_text":"Authentication Incorrect Username PHP","src":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/authentication-incorrect-username.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/authentication-incorrect-username.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/authentication-incorrect-username.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/authentication-incorrect-username.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1331,"url":"https:\/\/hostscripter.com\/?p=1331","url_meta":{"origin":1339,"position":4},"title":"Part 2: Create your own Login System using PHP and MySql","author":"h05t5cr1pt3r","date":"November 28, 2022","format":false,"excerpt":"2. Creating the Login Form Design We will now create a form that our users can use to enter their details and submit them for processing. We will be using HTML and CSS for this part of the tutorial as PHP will not be necessary on this page. Edit the\u00a0index.html\u00a0file\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/hostscripter.com\/?cat=4"},"img":{"alt_text":"Basic HTML Login Form Layout","src":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/basic-html-login-form-layout.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/basic-html-login-form-layout.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/basic-html-login-form-layout.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/codeshack.io\/web\/img\/phplogin\/basic-html-login-form-layout.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1354,"url":"https:\/\/hostscripter.com\/?p=1354","url_meta":{"origin":1339,"position":5},"title":"Part 6: Create your own Registration System using PHP and MySql","author":"h05t5cr1pt3r","date":"November 28, 2022","format":false,"excerpt":"6. Implementing Account Activation The account activation system will send an email to the user with the activation link when the user has registered. The first thing we need to do is to go into\u00a0phpMyAdmin\u00a0and select our database, in our case this would be\u00a0phplogin, you can either add the column\u00a0activation_code\u00a0to\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/hostscripter.com\/?cat=4"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/hostscripter.com\/index.php?rest_route=\/wp\/v2\/posts\/1339"}],"collection":[{"href":"https:\/\/hostscripter.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hostscripter.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hostscripter.com\/index.php?rest_route=\/wp\/v2\/users\/301"}],"replies":[{"embeddable":true,"href":"https:\/\/hostscripter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1339"}],"version-history":[{"count":1,"href":"https:\/\/hostscripter.com\/index.php?rest_route=\/wp\/v2\/posts\/1339\/revisions"}],"predecessor-version":[{"id":1340,"href":"https:\/\/hostscripter.com\/index.php?rest_route=\/wp\/v2\/posts\/1339\/revisions\/1340"}],"wp:attachment":[{"href":"https:\/\/hostscripter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hostscripter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hostscripter.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}