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?