Frodo 1. разбирайся сам, могу только сказать что ругается сервер на 14 строчку, т.е. на:
if (!param) {&ident;}
Говоря следующее:
"Use of uninitialized value in string"
Причём повотряет это дважды, наверное для непонятливых:-), после чего выдёт 500 ошибочку.
Сразу сказать что не правильно я не могу, но что-то явно здесь не так:-)
2. Проблем никаких нет, просто перед тем как передавать браузеру информацию, ты должен ему сообщить, что именно передаёшь, а в некоторых случаях ты направно сделал заголовок, в функции work, убери заголовок, он не нужен (после проверки куков ты и так его сделал, а так сейчас этот заголовок выводитися в ХТМЛ файл.
3. см второй:-), вот правда редиректа у меня не происходит;)
4. для того чтобы немного ускорить процесс авторизации гораздо проще создать файл в котором будет указано:
1) IP посетителя, который авторизировался
2) время до которого действует эта запись, если + 1 час, так прибавляешь один час, если больше то больше и постоянно сравниваешь с текущим временем.
На самом деле это (по идеи) работает быстрее куков, хоть и выглядит сложнее, т.к. не происходит передачи данных: запроса сервера и ответа браузера, на эту передачу, естественно уходит время. Всё это конечно ИМХО.
Мне этот вариант нравиться ещё и потому, что тогда не важно, разрешены ли в браузере куки или нет.
Для меня сложнее всего было прибавлять время:-). Ведь если просто прибавлять по часу, то когда мы прибавим к 23.30 + 1 час получим 24.30, понятно что тогда этот IP будект сохранён в файле на веки вечные (проверка по дате тоже не катит, ну думаю поймёшь почему. Так воть после долгих моих мучений с датами:-), я догадался подсмотреть у Штайна (дяденька который модуль CGI написал).
Если тебе нужно скачай мой любимый модуль:-) я там его урезал специально для тебя до одной функции определения времени. Называется модуль не за что не догадаешься:-)glebushka.pm. Качаем по адресу:
http://www.glebushka.hut.ru/glebushka.pmРазмести его в каталоге со скриптом, и подключи require "glebushka.pm";
После чего обращаешься к функции, следующим образом:
my $time=&glebushka_vrema("+1h", "chislo");
для того чтобы получить текущее время вместо 1h пиши 1s (!). Обязательно передавай первый параметр, а то плохо будет.
В принципе в комментариях к модулю это есть. Если какие проблемы и/или рац.предложения по этой функции определения времени пиши мне на мыло. (stalnoy_gleb@mail.ru).
5. всё-таки ты это, не выкладывай такие большие фрагменты кода в форуме, неудобно, лучше кидай урл для скачки.