Go Back   BioRUST Forums > Graphics Software & Support > HTML / PHP / ASP / JS

Closed Thread
 
LinkBack Thread Tools Display Modes
Old 07-23-2006   #1 (permalink)
Registered User
 
Join Date: Jul 2006
Posts: 1

Problem with "A Complete Membership System" by Scrowler

Hi there,

Yesterday I found Scrowler's tutorial and it's exactly what I need. However, since I already have a working login system, I only needed the parts relating to activating the account. I did a bit of cut and paste, but now it seems the system wont let anyone log in, activated or not.

PHP Code:
<?

/**
 * Checks whether or not the given pid is in the
 * database, if so it checks if the given password is
 * the same password in the database for that user.
 * If the user doesn't exist or if the passwords don't
 * match up, it returns an error code (1 or 2). 
 * On success it returns 0.
 */
function confirmUser($pid$password){
   global 
$conn;
   
/* Add slashes if necessary (for query) */
   
if(!get_magic_quotes_gpc()) {
    
$pid addslashes($pid);
   }

   
/* Verify that user is in database */
   
$q "select password from roster where pid = '$pid'";
   
$result mysql_query($q,$conn);
   if(!
$result || (mysql_numrows($result) < 1)){
      return 
1//Indicates pid failure
   
}

   
/* Retrieve password from result, strip slashes */
   
$dbarray mysql_fetch_array($result);
   
$dbarray['password']  = stripslashes($dbarray['password']);
   
$password stripslashes($password);

   
/* Validate that password is correct */
   
if($password == $dbarray['password']){
      return 
0//Success! pid and password confirmed
   
}
   else{
      return 
2//Indicates password failure
   
}
}

/**
 * checkLogin - Checks if the user has already previously
 * logged in, and a session with the user has already been
 * established. Also checks to see if user has been remembered.
 * If so, the database is queried to make sure of the user's 
 * authenticity. Returns true if the user has logged in.
 */
function checkLogin(){
   
/* Check if user has been remembered */
   
if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass'])){
      
$_SESSION['pid'] = $_COOKIE['cookname'];
      
$_SESSION['password'] = $_COOKIE['cookpass'];
   }

   
/* pid and password have been set */
   
if(isset($_SESSION['pid']) && isset($_SESSION['password'])){
      
/* Confirm that pid and password are valid */
      
if(confirmUser($_SESSION['pid'], $_SESSION['password']) != 0){
         
/* Variables are incorrect, user not logged in */
         
unset($_SESSION['pid']);
         unset(
$_SESSION['password']);
         return 
false;
      }
      return 
true;
   }
   
/* User not logged in */
   
else{
      return 
false;
   }
}

/**
 * Determines whether or not to display the login
 * form or to show the user that he is logged in
 * based on if the session variables are set.
 */


            
function displayLogin(){
   global 
$logged_in;
   if(
$logged_in){
   
   
?>
<link href="images/mm_entertainment.css" rel="stylesheet" type="text/css" />

<p align="center"><span class="pageName">Logged In!</span></p>
<p align="center">  Welcome <b><?php $pid=$_SESSION["pid"];
$result mysql_query("SELECT first_name FROM roster WHERE pid='$pid'");
        if (!
$result) {
            echo(
"<P>Error performing query: " mysql_error() . "</P>");
            exit();  }
            echo(
mysql_result($result,0));?></b>, you are logged in. <a href="logout.php">Logout</a> 
   <?php
   

   else{

?>
</p>
</p>
<link href="images/mm_entertainment.css" rel="stylesheet" type="text/css" />
<form action="" method="post">
  <table align="left" border="0" cellspacing="0" cellpadding="3">
<tr>
  <td colspan="2" class="pageName"><div align="center">Login</div></td>
  </tr>
<tr><td class="bodyText">Pilot ID:</td><td><input type="text" name="pid" maxlength="3" size="15"></td></tr>
<tr><td>Password:</td><td><input type="password" name="password" maxlength="20" size="15"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" name="sublogin" value="Login"></td></tr>
</table>
</form>

<?
   
}
}

/**
 * Checks to see if the user has submitted his
 * pid and password through the login form,
 * if so, checks authenticity in database and
 * creates session.
 */
if(isset($_POST['sublogin'])){

$l mysql_connect "mysql12.servage.net" "sca" "harmony" ) or die("Error connecting: <br><br>".mysql_error());
mysql_select_db"sca" ) or die("Error getting db: <br><br>".mysql_error());

$username trim(addslashes($_POST['pid']));
$password md5(trim($_POST['password']));

$query mysql_query("SELECT * FROM roster WHERE pid = '$username' AND password = '$password' LIMIT 1") or die(mysql_error());

$row mysql_fetch_array($query);

// now we check if they are activated

if($row['Activated'] == 0)
{

   
/* Check that all fields were typed in */
   
if(!$_POST['pid'] || !$_POST['password']){
      die(
'You didn\'t fill in a required field.');
   }
   
/* Spruce up pid, check length */
   
$_POST['pid'] = trim($_POST['pid']);
   if(
strlen($_POST['pid']) > 30){
      die(
"Sorry, the pid is longer than 30 characters, please shorten it.");
   }

   
/* Checks that pid is in database and password is correct */
   
$md5pass md5($_POST['password']);
   
$result confirmUser($_POST['pid'], $md5pass);

   
/* Check error codes */
   
if($result == 1){
      die(
'That pid doesn\'t exist in our database.');
   }
   else if(
$result == 2){
      die(
'Incorrect password, please try again.');
   }

   
/* pid and password correct, register session variables */
   
$_POST['pid'] = stripslashes($_POST['pid']);
   
$_SESSION['pid'] = $_POST['pid'];
   
$_SESSION['password'] = $md5pass;

   
/**
    * This is the cool part: the user has requested that we remember that
    * he's logged in, so we set two cookies. One to hold his pid,
    * and one to hold his md5 encrypted password. We set them both to
    * expire in 100 days. Now, next time he comes to our site, we will
    * log him in automatically.
    */
   //if(isset($_POST['remember'])){
      
setcookie("cookname"$_SESSION['pid'], time()+60*60*24*100"/");
      
setcookie("cookpass"$_SESSION['password'], time()+60*60*24*100"/");
   
//}

   /* Quick self-redirect to avoid resending data on refresh */
   
echo "<meta http-equiv=\"Refresh\" content=\"0;url=$HTTP_SERVER_VARS[PHP_SELF]\">";
   return;
}

/* Sets the value of the logged_in variable, which can be used in your code */
$logged_in checkLogin();

} else {
echo 
"activation required";
}
?>
This is the entire login.php page. Note that I have inserted Scrowler's activation code about halfway, after the form.

I didn't use the code as is in the tutorial, because I need this login to set cookies as I reference them in other pages.

If you could give me a clue as to why it isn't working, I'd be much appreciative.

Cheers.
Steve887 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Old 08-01-2006   #2 (permalink)
Intermediate User
 
Neil_8_24_93's Avatar
 
Join Date: May 2006
Posts: 96

Send a message via AIM to Neil_8_24_93 Send a message via MSN to Neil_8_24_93
hmm....would it be possible if you could give me the link to this tutorial?
Neil_8_24_93 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
FAQ: A Complete Membership System scrowler BioRUST Specific Threads 13 01-18-2007 11:16 PM
Complete Membership Tutorial Error Melissa HTML / PHP / ASP / JS 4 12-01-2005 11:40 PM
A Complete Membership System tutorial stingerblue HTML / PHP / ASP / JS 2 05-18-2005 05:19 AM
another membership script problem MillerTime HTML / PHP / ASP / JS 3 03-21-2005 07:01 PM


All times are GMT +1. The time now is 10:25 AM.
Content Relevant URLs by vBSEO 3.2.0

Design & Content © BioRUST 2008 :: PRIVACY STATEMENT :: LEGAL INFORMATION :: ADVERTISING MEDIA KIT