<header>
исправить на <head>
<footer></footer>
перенести над </body>
(да и вообще пустой footer не нужен)<!DOCTYPE html>
if($password != $users['password'])
- эта проверка не нужна, т.к. всегда будет верна, вместо этого "login or password failed" нужно выводить, когда не одной записи не нашлось, т.е. mysqli_num_rows($query) == 0