Первое опечатка, не такой я параноик как кажусь:), не делаю столько комментариев, а второе ща исправлю, но работать оно не работает, это точно - форму выводит, а кактолько жму ОК - ошибка...
Chs Да, спасибо, ошибку не выдаёт, НО Работает всё равно не правильно. см тот же адрес, я обновил с учётом твоих замечаний. Кстати, для интереса Во всех полях набери цифру 1 - (правильные логин и пароль) Он такое пишет...
Да, спасибо, ошибку не выдаёт, НО Работает всё равно не правильно.
Ну логика кривая. if ($loginEnt eq $lst[$i-7] and $passwordEnt eq $lst[$i-6]){ Ты сможешь объяснить что это должно делать? Формат файла паролей в студию!
Угу. Ща попробую. Формат файла паролей ТХТ. Вообще его можно посмотреть по адресу http://www.glebushka.hut.ru/cgi-bin/hot/admin.cgi Логин 1 Пароль 1 Убедительная просьба ничего там не править! Там один пробел в конце строки и всё путается, получше чем в генераторе случайных чисел. А логику я проверял по адресу: http://www.glebushka.hut.ru/cgi-bin/hot/tmplog.cgi Там внизу связка логин-пароль, если правильно выводит, значит и здесь правильно, копировать - вставить, как никак... Только там я просто выводил: print "Логин $lst[$i-7]"; print "Пассворд $lst[$i-6]"; print "
Спасибо Chsу за наше счастливое детство:))))))))))))) ОДНОЗНАЧНО. Работает. Вот работающий скрипт, (выкладываю для таких же ламеров как я, перед которыми встанет таже трабл). С учётом добавлений и исправлений Chs, код: #!/usr/bin/perl use CGI::Carp qw (fatalsToBrowser);#показывать ошибки - в окончательной версии не забыть убрать.
#подключаем модуль use CGI qw(:standard); $mycgi=new CGI; #Создаём объект CGI #берём данные из формы, запихиваем в переменные $do=$mycgi->param("do"); $loginEnt= lc ($mycgi->param("login")); $passwordEnt=lc ($mycgi->param("password")); if(!$mycgi->param){ print $mycgi->header,$mycgi->start_html(\'Форма\');
print <<"HTML";
HTML
print $mycgi->end_html; # конец html-документа }else#а если форма уже заполнена, то { $path="/home/g/glebushka.hut.ru/WWW/loghot/user.jpg"; open(DAT,"$path")|| die("Невозможно открыть файл$path"); my @lst=; # Помещаем строки в массив chomp @lst; $authorized = 0; for(my $i=@lst-1;$i>=0;$i-=9){#в файле не только логины и пароли но и много другой инфы if (($loginEnt eq $lst[$i-7]) and ($passwordEnt eq $lst[$i-6])) { $authorized = 1; $login = $loginEnt; last; } } print "Content-type: text/plain\\n\\n"; print $authorized; close(GB_DAT);#Закрываем файл } ЗЫ. Ну вот вроде всё... всё работает:)