I am attempting to make a more secure log in system. My registration is working fine so its not a connection issue. Just needing a fresh pair of eyes to see if there are any errors that I may be missing, can anyone help please? Thanks!
login.php
session_start();
if (isset($_POST['submit']))
{
$user = $_POST['username'];
$pass = $_POST['password'];
if(!($stmt = $mysqli->prepare("SELECT username, password FROM users WHERE username = ?"))){
echo "Prepare failed: (" . $mysqli->errno . ")" . $mysqli->error;
}
if(!$stmt->bind_param('s', $user)){
echo "Bind failed: (" . $stmt->errno . ")" . $stmt->error;
}
if(!$stmt->execute()){
echo "Execute failed: (" . $stmt->errno .")" . $stmt->error;
}
$userdata = $stmt->get_result();
$row = $userdata->fetch_array(MYSQLI_ASSOC);
$stmt->bind_result($user, $pass);
$stmt->store_result();
if(password_verify($pass, $row['password'])){
$_SESSION['login_user'] = $_POST['username'];
header('Location: profile.php');
exit();
}
}
else{
echo "Login Failed: (" . $stmt->errno .")" . $stmt->error;
}
$stmt->close();
$mysqli->close();
index.php(The login form)
<div id="loginform">
Log in details<br /><br />
<form method="post" action="login.php">
Username:
<input type="text" name="username" />
<br /><br>
Password:
<input type="password" name="password" />
<br /><br>
<input type="submit" name="submit" value="Submit" />
</form>
</div>