Сходу скажу, что нельзя указывать где пользователь допустил ошибку (в логине или в пароле).
Это очень не безопасно. Насчет ошибки, мне кажется, что ты ее допустил тут
$user = $stmt->get_result();
$result = $user->fetch_assoc();
Я уже давно не работал с mysqli, но если память не изменяет, то надо делать так:
$result = $stmt->fetch_assoc();