Почему не отправляется сабмит?
<header> исправить на <head><footer></footer> перенести над </body>(да и вообще пустой footer не нужен)doctype поменять на <!DOCTYPE html>echo "Fill the form"; - не корректно, т.к. выведет перед doctype'омданные напрямую идут в базу данных, нужна обработка, иначе SQL инъекцияif($password != $users['password']) - эта проверка не нужна, т.к. всегда будет верна, вместо этого "login or password failed" нужно выводить, когда не одной записи не нашлось, т.е. mysqli_num_rows($query) == 0action у формы желательно явно указатьВместо тега p использовать тег label
лучше проверять не сабмит, а скрытое поле hidden  в качестве идентификатора формы