Forum Webscript.Ru

Программирование => Perl => Тема начата: prodis от 15 Июля 2007, 00:38:17

Название: Помогите разобраться со скриптом
Отправлено: prodis от 15 Июля 2007, 00:38:17
Этот скрипт из учебника. Я пытаюсь его запустить но не получается. Я уже начал грешить на свой локальный сервер. Сервер в порядке скрипты типа Hello работают. Может опечатка в учебнике не знаю. Вот прошу вас помочь мне разобраться.    

Это HTML форма


Регистрация пользователя


Внимательно заполните поля и нажмите кнопку "Регистрации"


 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
Имя псевдоним
 
 
Возраст
 
 
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 от 15 Июля 2007, 16:35:14
У тебя функция называется errban а вызываешь errdan()
Еще тут
print $objectCGI->h3 ("errpole
");
а нужно наверное
print $objectCGI->h3 ("$errpole
");

Внимательней!
Название: Помогите разобраться со скриптом
Отправлено: prodis от 15 Июля 2007, 18:34:32
Цитировать
ESE:
У тебя функция называется errban а вызываешь errdan()
Еще тут
print $objectCGI->h3 ("errpole
");
а нужно наверное
print $objectCGI->h3 ("$errpole
");

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


Спасибо. Я исправил свою ошибку,  но скрипт почему-то  не хочет запускаться.
Какие могут еще быть ошибки, подскажи.
Название: Помогите разобраться со скриптом
Отправлено: prodis от 15 Июля 2007, 20:49:51
Проблему вроде бы нашел мне нужно было в скипте у казать путь в место
#!/usr/bin/perl
Заменить на этот
#!d:/server/perl/bin/perl
Теперь скрипт запускается в registr.log данные заносит но не  указывает (Регистрация выполнена. СПАСИБО!!!)