Accurate Time 2.1 Internet Explorer AJAX New Features redirect developer Deans List Husker Football Array Login Php Software Applications Br includes Intranet Information Systems PHP Tips Addressbook Ideas Lotus Notes Colors Export World Wide Web Screen Resolutions Forefront Php Database Web App Php Password tips Longest Time Transitional Dtd Lotus Borders Membership Login Football Game Phpmyadmin Reference Web Development Seo Search Engine Optimization Mumbo Jumbo Asynchronous Javascript And Xml SQL Web Developers Gsa Gov Html Tag Traveling Doctype Mysql Num Rows PHP Server Username Content Management System Working With Clients Services Software css Lt Dynamic Css Gsa blog Microsoft Telegraph Hourly Fee Php Mysql Integrity Div Templates Insanity Full Time box model steps Last Straw Portable Computers Css Files Web Nate Import Federal Employees Blackberry XML Military Installation Server Hostname Time Frame Select Name Laserjet 4100 Search Google Development Strange Person Web Applications Headaches System Administrator Email Settings Marketing rss mySQL Term Relationships Divs Tip Lot 2.6. 2.62 Categories free templates develop Mobile Platforms Web Design App Variables Indexing Services Honesty Php Echo Work Log Color Scheme Index Video And Multimedia Capital Letters Dashboard Color Schemes Php File Search Engine Optimization University Web Joomla Google Address Book Branding Page Rank Tag Gods Gift Cat Id Variation SEO Database Functionality CMS View Source Email Account Images Links Page Password Formatting tools Section 508 Double Benefit Area 51 Adminemail Free Download Time Web Ektron Multimedia Products Firefox Csv Fellow Web Membership Database Download organization Database Import database tricks WordPress encryption Sql Database Transition Config Php Nuances Div Id Telecommunications Products 26b News Releases W3c Password Reset Echo Css File Php Variables Internet Explorer 7 Import Functionality Hourly Rates Stylesheet Social Networking Html Xmlns Habit Free Strategy Web Developer Transparent Image Rant Information Technology Products Mysql Fetch Array Design Cms Content Bandwidth Usage Sql Server
Accurate Time 2.1 Internet Explorer AJAX New Features redirect developer Deans List Husker Football Array Login Php Software Applications Br includes Intranet Information Systems PHP Tips Addressbook Ideas Lotus Notes Colors Export World Wide Web Screen Resolutions Forefront Php Database Web App Php Password tips Longest Time Transitional Dtd Lotus Borders Membership Login Football Game Phpmyadmin Reference Web Development Seo Search Engine Optimization Mumbo Jumbo Asynchronous Javascript And Xml SQL Web Developers Gsa Gov Html Tag Traveling Doctype Mysql Num Rows PHP Server Username Content Management System Working With Clients Services Software css Lt Dynamic Css Gsa blog Microsoft Telegraph Hourly Fee Php Mysql Integrity Div Templates Insanity Full Time box model steps Last Straw Portable Computers Css Files Web Nate Import Federal Employees Blackberry XML Military Installation Server Hostname Time Frame Select Name Laserjet 4100 Search Google Development Strange Person Web Applications Headaches System Administrator Email Settings Marketing rss mySQL Term Relationships Divs Tip Lot 2.6. 2.62 Categories free templates develop Mobile Platforms Web Design App Variables Indexing Services Honesty Php Echo Work Log Color Scheme Index Video And Multimedia Capital Letters Dashboard Color Schemes Php File Search Engine Optimization University Web Joomla Google Address Book Branding Page Rank Tag Gods Gift Cat Id Variation SEO Database Functionality CMS View Source Email Account Images Links Page Password Formatting tools Section 508 Double Benefit Area 51 Adminemail Free Download Time Web Ektron Multimedia Products Firefox Csv Fellow Web Membership Database Download organization Database Import database tricks WordPress encryption Sql Database Transition Config Php Nuances Div Id Telecommunications Products 26b News Releases W3c Password Reset Echo Css File Php Variables Internet Explorer 7 Import Functionality Hourly Rates Stylesheet Social Networking Html Xmlns Habit Free Strategy Web Developer Transparent Image Rant Information Technology Products Mysql Fetch Array Design Cms Content Bandwidth Usage Sql Server

This is part 2 of a 3 part part post. The first post is here: How to Create a PHP membership database. This post will take the previous a little further and will demonstrate how to create a login feature to the member database and lso incorperates a password reset ability in case it is forgotten.

First off, please make sure you have pages mentioned in the previous post, then you can create a page entitled

login.php

<?php
include ‘config.php’;
 ############## VARIABLES ####################
$formdata = ‘<form method=”post” action=”login.php”>
 <label>Username</label><input type=”text” name=”username” /><br />
 <label>Password</label><input type=”password” name=”password” /><br />
 <input type=”submit” name=”login” />
</form>’;
if(isset($_COOKIE["member"])) {
 if (isset($_GET['logout'])) {
  setcookie(“member”,”$memberid”, time()-3600*2, “/”, “.blazekwebdesign.com”); #logged in for 2 hours
  echo $formdata;
 }
 else {
  echo “You are logged in. Would you like to <a href=\”?logout\”>logout</a>?”;
 }
}
else {
 if(isset($_POST["login"])) {
  if (empty($_POST["password"]) || empty($_POST["username"])) {
   echo “Please enter both your username and password.”;
  }
  else {
   $origpass = mysql_real_escape_string($_POST["password"]);
   $password = md5($origpass);
   $username = mysql_real_escape_string($_POST["username"]);
   loginuser($username, $password, $formdata);
  }
 }
 else {
   echo $formdata;
 }

}
  function loginuser($username, $password, $formdata) {
############### Check if username and password exist ################
   
   $SQLuserpass = “SELECT * FROM `member` WHERE username=’$username’ AND password=’$password’”;
   $results = mysql_query($SQLuserpass);
   $numrows = mysql_num_rows($results);
   if ($numrows > 0) {
    while ($rows = mysql_fetch_array($results)) {
     $memberid = $rows[0];
     setcookie(“member”,”$memberid”, time()+3600 *2, “/”, “.blazekwebdesign.com”); #logged in for 2 hours
     echo “You were successfully logged in.”;
    }
   }
   else {
    echo “The username and/or password you entered was incorrect. Please try logging in again or reset your password <a href=\”resetpassword.php\”>here</a>”;
    echo $formdata;
   }
  }

?>

This php file simply will access the previously created database and login the member, settign a cookie that will keep the user logged in for two hours.

Next youneed to creae another php file entitled:

resetpassword.php

<?php
include ‘config.php’;
 ############## VARIABLES ####################
$formdata = ‘<form method=”post” action=”login.php”>
 <label>Username</label><input type=”text” name=”username” /><br />
 <label>Password</label><input type=”password” name=”password” /><br />
 <input type=”submit” name=”login” />
</form>’;
if(isset($_COOKIE["member"])) {
 if (isset($_GET['logout'])) {
  setcookie(“member”,”$memberid”, time()-3600*2, “/”, “.blazekwebdesign.com”); #logged in for 2 hours
  echo $formdata;
 }
 else {
  echo “You are logged in. Would you like to <a href=\”?logout\”>logout</a>?”;
 }
}
else {
 if(isset($_POST["login"])) {
  if (empty($_POST["password"]) || empty($_POST["username"])) {
   echo “Please enter both your username and password.”;
  }
  else {
   $origpass = mysql_real_escape_string($_POST["password"]);
   $password = md5($origpass);
   $username = mysql_real_escape_string($_POST["username"]);
   loginuser($username, $password, $formdata);
  }
 }
 else {
   echo $formdata;
 }

}
  function loginuser($username, $password, $formdata) {
############### Check if username and password exist ################
   
   $SQLuserpass = “SELECT * FROM `member` WHERE username=’$username’ AND password=’$password’”;
   $results = mysql_query($SQLuserpass);
   $numrows = mysql_num_rows($results);
   if ($numrows > 0) {
    while ($rows = mysql_fetch_array($results)) {
     $memberid = $rows[0];
     setcookie(“member”,”$memberid”, time()+3600 *2, “/”, “.blazekwebdesign.com”); #logged in for 2 hours
     echo “You were successfully logged in.”;
    }
   }
   else {
    echo “The username and/or password you entered was incorrect. Please try logging in again or reset your password <a href=\”resetpassword.php\”>here</a>”;
    echo $formdata;
   }
  }

?>

This will send the user a randomly generated password in their email that they can login with.

Part 1: How to create a PHP membership database

Part 2: Membership login and password reset in PHP

Part 3: Password Protect your pages in PHP

  1. [...] Check out part 2: How to create a member login screen wih password reset feature [...]

    How to create a PHP membership database | Blazek Web Design on November 11th, 2008 at 10:37 pm
  2. [...] Part 2: Membership login and password reset in PHP [...]

    Password Protect your pages in PHP | Blazek Web Design on November 12th, 2008 at 10:20 am
Would you like to login?