cloudfire, если $login == $_POST[\'login\'] и $pass == $_POST[\'pass\'] то у тебя там дыра
а чему равны переменные? в сравнении, в запросе, проводи их через htmlspecialchars($login)
в конце футера пропиши exit();
Добавлено 10.11.13 в 12:32:15:
Всё остальное (почти) уже описали выше
вообщем хз, $error не экранирует, поля почему то null
Значит не там прописал) Дело в том, что нужно закрывать соединения, или какие либо сценарии, буферы, дабы не прописывать 100500 кодов, нужно в конце страницы прописывать exit(); разницу в загрузке увидешь сразу.)
Не $еррор = \'\'; а $еррор = НУЛЛ; и еще,я там не вижу проверки на существование логина и пароля в одной записе о юзере,я спокойно смогу подменить ид в куках и авторизироватся под этим идом