I'm having trouble with my login form and I'm not quite sure why. The code is not passing the
PHP Code:
if($login_check > 0){
or while loop and is going to the else statement instead. I even tried taking the password hashing out and putting a generic password into my database but it still says "No match in our records, try again".
Here's the php.
PHP Code:
<?php
if ($_POST['email']) {
//Connect to the database through include
include_once "scripts/connect_to_mysql.php";
$email = $_POST['email'];
$email = mysql_real_escape_string($email);
$password = $_POST['password'];
$password = $password;
// Make query and then register all database data
$sql = mysql_query("SELECT * FROM members WHERE email='$email' AND password='$password'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
// Get member ID into a session variable
$id = $row["id"];
session_register('id');
$_SESSION['id'] = $id;
// Get member username into a session variable
$username = $row['username'];
session_register('username');
$_SESSION['username'] = $username;
// Update last_log_date field for this member now
mysql_query("UPDATE members SET lastlogin=now() WHERE id='$id'");
// Print success message here if all went well then exit the script
header("location: member_profile.php?id=$id");
exit();
} // close while
} else {
// Print login failure message to the user and link them back to your login page
print '<font color="red">No match in our records, try again </font><br />
<a href="login2.php">Click here</a> to go back to the login page.';
exit();
}
}// close if post
?>
And here's is the form.
Code:
<div>
Please log in.
<form action="login2.php" method="post">
<input type="text" name="email" id="email" placeholder="Email"/><br />
<input type="password" name="password" id="password" placeholder="Password"/><br />
<input type="submit" value="Login" />
</form>
</div>
Bookmarks