1. @ui = <UF>; - считывает по идее только первую строчку из файла. Вставь для проверки вывод $ui[1] в окошко.
2. Не забудь сделать chop тому что читаешь из файла, чтобы отсекать \r\n
Начал писать авторизацию на своем форуме, но застрял вообще на ерунде какой-то. Я в тупике, вообще не могу понять в чем дело =(
Смотрите сами, - вот форма авторизации:
Вот подпрограмма, которая вызывается при авторизации и, по идее, должна авторизировать пользователя (она пока что только выводит javascript окна, которые сообщаю либо при ошибках при авторизации, либо о успешной авторизации):
sub auth {
if (-e "users/$FAlogin.user")
{
open UF, "users/$FAlogin.user";
@ui = <UF>;
close UF;
$passw = $ui[1];
$Cpassw = crypt($passw, $passw);
if ($Cpassw eq $FApassw)
{
print "<script language=\"JavaScript\">alert(\'Вы успешно авторизированы!\');</script>";
}else
{
print "<script language=\"JavaScript\">alert(\'Неверный пароль!\');</script>";
}
}else
{
print "<script language=\"JavaScript\">alert(\'Пользователя с таким именем не существует!\');</script>";
}
}
---
Пароль юзера, зашифрованный crypt(); хранится второй строкой в файле. Вот пример такого файла (ну на всякий случай):
main_c0der
pauONM/HSu9pM
0
---
Первая строчка - статус юзера, вторая - тот самый зашифрованный пароль, третья - уровень доступа к форуму.
Теперь проблема. При вводе логина и пароля в форму авторизации выдается ошибка "Неверный пароль!".
Хотя пароль я ввожу верный, - это 100%.
Почему так происходит я просто не могу понять. Надеюсь на вашу помощь.
А кто будет $FApassw криптовать для сравнения?!13.10.04 17:35 Автор: choor Статус: Elderman
1. @ui = <UF>; - считывает по идее только первую строчку из файла. Вставь для проверки вывод $ui[1] в окошко.
2. Не забудь сделать chop тому что читаешь из файла, чтобы отсекать \r\n
ни боже мой10.10.04 15:42 Автор: dl <Dmitry Leonov>