идентификатор сессии хранится в качестве куки на компьютере, т.е. подменив этот куки, мы получим другие данные сессии. не так?так, вопрос только как залезть в компьютер? Если безопасность компьютера на нуле, последнее что вас будет интересовать - данные из куки, проще тогда уже перехватить пароль на этапе ввода, это гораздо интереснее.
var_dump($_POST); // проверить что вообще пришло
$query = "UPDATE `users` SET `password` = '$password' WHERE `users`.`login` = '$login'";
echo $query;
не является пробельным символом, это знак неразрывного пробела закодированный в ескейп последовательность, при html_entity_decode($string); выполучите символы с аскии кодом 160, а не 32(пробел). Для начала замените все неразрывные пробелы на пробел, после этого все будет работать.