petroz Posted September 7, 2009 Share Posted September 7, 2009 Hi Guys, Newb here. I am trying to get this login page to work, but I am having issues verifying the password. It keeps telling me the password is incorrect. I have verified that the user and md5 encoded password are in the db. I also tried send the encoded password just to make sure it was passing it correctly, but I am still getting the "incorrect password." Here is the code <?php // Connects to your Database include 'db.php'; //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM businesses WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { } else { header("Location: members.php"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['username'] | !$_POST['pass']) { die('You did not fill in a required field.'); } // checks it against the database if (!get_magic_quotes_gpc()) { $_POST['email'] = addslashes($_POST['email']); } $check = mysql_query("SELECT username , password FROM businesses WHERE username = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=register.php>Click Here to Register</a>'); } while($info = mysql_fetch_array( $check )) { $_POST['pass'] = stripslashes($_POST['pass']); $info['password'] = stripslashes($info['password']); $_POST['pass'] = md5($_POST['pass']); //gives error if the password is wrong if ($_POST['pass'] != $info['password']) { die('Incorrect password, please try again.'); } else { // if login is ok then we add a cookie $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['username'], $hour); setcookie(Key_my_site, $_POST['pass'], $hour); //then redirect them to the members area header("Location: members.php"); } } } else { // if they are not logged in ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table border="0"> <tr><td colspan=2><h1>Login</h1></td></tr> <tr><td>Username:</td><td> <input type="text" name="username" maxlength="40"> </td></tr> <tr><td>Password:</td><td> <input type="password" name="pass" maxlength="50"> </td></tr> <tr><td colspan="2" align="right"> <input type="submit" name="submit" value="Login"> </td></tr> </table> </form> <?php } ?> Any help getting this to work correctly would be greatly appreciated. Thanks, P Link to comment https://forums.phpfreaks.com/topic/173454-login-page-using-cookies-password-post-problem/ Share on other sites More sharing options...
grissom Posted September 7, 2009 Share Posted September 7, 2009 Don't know for sure but I would be wary of putting a new value to a $_POST variable like you did here : $_POST['pass'] = stripslashes($_POST['pass']); better to give it a new name : $strip_pass = stripslashes($_POST['pass']); and then refer to $strip_pass from the rest of the code onwards, likewise with your other $_POST variables Link to comment https://forums.phpfreaks.com/topic/173454-login-page-using-cookies-password-post-problem/#findComment-914327 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.