Программирование > Perl

Помогите разобраться со скриптом

(1/1)

prodis:
Этот скрипт из учебника. Я пытаюсь его запустить но не получается. Я уже начал грешить на свой локальный сервер. Сервер в порядке скрипты типа Hello работают. Может опечатка в учебнике не знаю. Вот прошу вас помочь мне разобраться.    

Это HTML форма


Регистрация пользователя
Внимательно заполните поля и нажмите кнопку "Регистрации"
 
 
 
  Имя псевдоним
 
 
 
 
 
  Возраст
 
 
  <18
  18-25
  26-40
  41-50
  >55
 
 
 
 
  e-mail
 
 
 
 
 
 


     
 
 



Это скрипт registration.cgi
 #!/usr/bin/perl

 use CGI;
$objectCGI = new CGI;

$polz=$objectCGI->param("polz");
$email=$objectCGI->param("email");
$vek=$objectCGI->param("vek");

print $objectCGI->header(- charset=>\'windows-1251\');

 if (&provdan())
   {
    &zapdan()
    }
    else {
      errdan()
      }
  sub provdan() {
   $errpole="";
   $pravform=1;
   $pravpole=$polz=~/^[a-zA-Za-яА-Я]+$/;
    unless($pravpole) {
      $errpole="polz,";
      $pravform=0;
      }
      $pravpole=$email=~/[a-zA-Zа-яА-Я]+\\@[a-zA-Zа-яА-Я\\-]+\\.[a-zA-Z]+/;
        unless($pravpole) {
          $errpole="email,";
          $pravform=0;
          }
           return $pravform
           }

 sub errban() {
   chop($errpole);
   print $objectCGI->start_html (-TITLE=>"Проблемы с регистрацией",-BGCOLOR=>"blue");
   print $objectCGI->h2 ("Следущие поля были неправельно заполнены:
");
   print $objectCGI->h3 ("errpole
");
   print "Вернутся к предыдущей странице и попытатся снова.";
   print $objectCGI->end_html();
   }

 sub zapdan() {
   unless (open(LOGFILE,">> registr.log")) {
     print "Проблемы во время открытия файла!";
     exit;
     }
     seek (LOGFILE, 0, 2);
     print LOGFILE "$polz\\t\\t\\t$email\\t\\t\\t$vek\\n";
       unless (close (LOGFILE)) {
         print "Проблемы во время закрытия файла!";
         exit;
         }
         print $objectCGI->start_html();
         print $objectCGI->(\'Регистрация выполнена. СПАСИБО!!!\');
         }

ESE:
У тебя функция называется errban а вызываешь errdan()
Еще тут
print $objectCGI->h3 ("errpole
");
а нужно наверное
print $objectCGI->h3 ("$errpole
");

Внимательней!

prodis:

--- Цитировать ---ESE:
У тебя функция называется errban а вызываешь errdan()
Еще тут
print $objectCGI->h3 ("errpole
");
а нужно наверное
print $objectCGI->h3 ("$errpole
");

Внимательней!
--- Конец цитаты ---


Спасибо. Я исправил свою ошибку,  но скрипт почему-то  не хочет запускаться.
Какие могут еще быть ошибки, подскажи.

prodis:
Проблему вроде бы нашел мне нужно было в скипте у казать путь в место
#!/usr/bin/perl
Заменить на этот
#!d:/server/perl/bin/perl
Теперь скрипт запускается в registr.log данные заносит но не  указывает (Регистрация выполнена. СПАСИБО!!!)

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии