Creo que te estás complicando la vida intentado reinventar la rueda.
Para eso está el atributo
type y
required Esto te garantiza que el formulario no se envíe si el campo está vacío y que lo que llegue al post sea exclusivamente un "email", así como el tipo email, existen muchos tipos más como: url, date, datetime, number, color, ...
Aquí tienes una buena referencia:
Input types
Para crear la sesión:
Código PHP:
Ver original $user = $db->query("SELECT * FROM user WHERE email = '$email';")->fetch_assoc();
if($user['password'] == filter_input(INPUT_POST
, 'password')) $_SESSION['user'] = $user;
}
header('Location: index.php');