|
|
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
Есть три строки в скрипте: my %cardtypes = map { $_ => shift @type_name } @id_cardtype; my %filials = map { $_ => shift @filial_name } @id_filial; my %status = map { $_ => shift @status } @id_status; На них ошибки идут: [Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 91. [Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 92. [Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 93. При этом когда непосредсвенно на сервере запускаю нгиках ошибок не выдаёт. В чём трабл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 10:38 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
modЕсть три строки в скрипте: my %cardtypes = map { $_ => shift @type_name } @id_cardtype; my %filials = map { $_ => shift @filial_name } @id_filial; my %status = map { $_ => shift @status } @id_status; На них ошибки идут: [Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 91. это не ошибки это ворнинги... При этом когда непосредсвенно на сервере запускаю нгиках ошибок не выдаёт. В чём трабл? на сервере не используеш -w ? А `трабл` в том, что некоторые элементы твоих массивов имеют значение undef... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:32 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
Ворнинги, то ворнинги, но неохота strict и warnings убирать из скриптов... А когда скрипты на той-же машине где запускаются он undef почему не ругает? На сервере я ничего не использую. а чё такое -w? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 11:52 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
modВорнинги, то ворнинги, но неохота strict и warnings убирать из скриптов... А когда скрипты на той-же машине где запускаются он undef почему не ругает? На сервере я ничего не использую. а чё такое -w? а версии перла одинаковые ? дело в том что use warnings в перле появилось если я правильно ошибусь в районе 5.6 до этого это была просто ничего не делающая заглушка... `perl -w` - примерно тоже самое что и use warnings, только более древнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:12 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
Они разными и не могут быть ибо с одного сервака и проверяю... Кстати Active Perl5.8. Я же говорю что кады на сервере в браузере запускаю всё без матюгов работает, а кады по сети обращаюсь, то выдаёт окно с предложением обратится к админу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:28 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
modОни разными и не могут быть ибо с одного сервака и проверяю... Кстати Active Perl5.8. Я же говорю что кады на сервере в браузере запускаю всё без матюгов работает, а кады по сети обращаюсь, то выдаёт окно с предложением обратится к админу. я вот чесно не понимаю разници запускания в броузере и запускание по сети. Если только ты не имееш в виду PerlScript ( ака запускание в броузере ) vs CGI ( запускание по сети )... Заголовки отдаеш ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 12:42 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
Вот и я не понимаю. Пока варнинги закоментил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 15:40 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
кому отдаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 15:55 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
modкому отдаю? серверу но если ты закоментировал ворнинги и оно работает то дело не в этом... ты б привел лучше минимально-полный кусок кода на котором это воспроизводится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 16:50 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
Весь скрипт: #!c:\perl\bin\perl use warnings; use strict; use DBI; use CGI; #дата и время my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime; $year+=1900; my $date="$mday.$mon.$year"; my $time="$hour.$min.$sec"; my $JavaScript=" function mytime(param) { if(param=='да') { document.block_form.order_date.value=document.block_form.HiddenTime.value; document.block_form.id_newtype.disabled =false; } if(param=='нет') { document.block_form.order_date.value=''; document.block_form.id_newtype.value=''; document.block_form.id_newtype.disabled =true; } }"; #старт my $q=new CGI; print $q->header('text/html; charset=windows-1251'); print $q->start_html(-title=>'Справочная служба on-line', -style=>{-src=>'/my_style.css'},-script=>$JavaScript); my $login=$q->param("login"); my $password=$q->param("password"); my $dbh = DBI ->connect('dbi:Oracle:ProcDB','dao','student'); #проверка пользователя my $sql = "SELECT id_operator, oper_name, active FROM operators Where nickname='$login' and oper_password='$password'"; my $sth = $dbh->prepare($sql); $sth->execute(); my $passCount=0; my($id_operator, $oper_name, $active); my($id_op, $oper_na, $act); while (($id_op, $oper_na, $act) = $sth->fetchrow_array) { $passCount++; $id_operator=$id_op; $oper_name=$oper_na; $active=$act; } $sth->finish; print $q->startform(-name=>'block_form',-method=>'post', -action=>'#'); if (($passCount>0) && ($active eq 'да')) { #филиалы $sql = "SELECT id_filial, code_filial, filial_name FROM filials"; $sth = $dbh->prepare($sql); $sth->execute(); my $iCount=0; my (@id_filial, @code_filial, @filial_name); while (($id_filial[$iCount], $code_filial[$iCount], $filial_name[$iCount]) = $sth->fetchrow_array) { $iCount++; } $sth->finish; #типы карт $sql = "SELECT id_cardtype, type_name FROM cardtypes"; $sth = $dbh->prepare($sql); $sth->execute(); $iCount=0; my (@id_cardtype, @type_name); while (($id_cardtype[$iCount], $type_name[$iCount]) = $sth->fetchrow_array) { $iCount++; } $sth->finish; #статус $sql = "SELECT id_status, status FROM status"; $sth = $dbh->prepare($sql); $sth->execute(); $iCount=0; my (@id_status, @status); while (($id_status[$iCount], $status[$iCount]) = $sth->fetchrow_array) { $iCount++; } $dbh->disconnect(); #ассоциативные массивы my %cardtypes = map { $_ => shift @type_name } @id_cardtype; my %filials = map { $_ => shift @filial_name } @id_filial; my %status = map { $_ => shift @status } @id_status; #форма print $q->h1('Блокировка карты:'); print "<table align='center' border=1><tr><td><sup>*</sup>филиал</td><td>"; print $q->popup_menu(-name=>"id_filial", -values=>[@id_filial], -default=>'', -labels=>\%filials); print "</td><td>дата заказа</td><td>"; print $q->textfield(-name=>"order_date", -default=>"", readonly=>"true"); print $q->hidden(-name=>"HiddenTime", -value=>$date); print "</td></tr><tr><td><sup>*</sup>ФИО</td><td>"; print $q->textfield(-name=>"client_name",-maxlength=>255); print "</td><td>оператор</td><td>"; print $q->i($oper_name); print $q->hidden(-name=>"id_operator", -value=>$id_operator); print "</td></tr><tr><td>дата рождения</td><td>"; print $q->textfield(-name=>"client_birthday",-size=>10, -maxlength=>10); print "</td><td><sup>*</sup>номер карты</td><td>"; print $q->textfield(-name=>"card_number",-maxlength=>20); print "</td></tr><tr><td>номер документа</td><td>"; print $q->textfield(-name=>"identifier"); print "</td><td><sup>*</sup>тип карты</td><td>"; print $q->popup_menu(-name=>"id_cardtype",values=>[@id_cardtype],-default=>'', -labels=>\%cardtypes); print "</td></tr><tr><td>адрес</td><td>"; print $q->textfield(-name=>"client_address"); print "</td><td><sup>*</sup>срок действия</td><td>"; print $q->textfield(-name=>"currency",-size=>12,-maxlength=>22); print "</td></tr><tr><td>телефон</td></td><td>"; print $q->textfield(-name=>"client_telephone"); print "</td><td><sup>*</sup>статус</td><td>"; print $q->popup_menu(-name=>"id_status",-values=>[@id_status],-default=>'', -labels=>\%status); print "</td></tr><tr><td>заказ</td><td>"; print $q->popup_menu(-name=>"new_order", -values=>['да','нет'], -default=>'нет', -onchange=>'mytime(this.value)'); print "</td><td>дата блокировки</td><td>"; print $q->textfield(-name=>"blocking_date", -default=>"$date $time", -readonly=>"true"); print "</td></tr><tr><td>тип новой карты</td><td>"; print $q->popup_menu(-name=>"id_newtype",values=>[@id_cardtype],-default=>'', -disabled =>"true", -labels=>\%cardtypes); print "</td><td>дата рождения ребёнка</td><td>"; print $q->textfield(-name=>"kid_birthday",-size=>10,-maxlength=>10); print "</td></tr><tr><td colspan=4><center> примечание</center> <br>"; print $q->textarea(-name=>"commentary",-rows=>3, -columns=>85,-maxlength=>255); print "</td></tr><tr><td colspan=4 align='center'>"; print $q->button(-name=>'sbmt', -value=>'добавить', onclick=>'document.forms[0].action="block2.pl";submit()'); print $q->reset(-value=>'oбновить'); print $q->button(-name=>'sbmt', -value=>'отмена', onclick=>'document.forms[0].action="first.pl";submit()'); print "</td></tr></table>" ; print $q->hidden(-name=>'login', -value=>$login); print $q->hidden(-name=>'password', -value=>$password); print $q->i('<sup>*</sup>-поля обязательные для заполнения'); print"<p>"; print $q->a({-href=>"#",-onclick=>"document.forms[0].action='second.pl';document.forms[0].target='second';document.forms[0].submit();"},"дополнительно"); print"</p>"; } else { print "Ошибка авторизации! Повторите попытку!"; print $q->br(); print $q->button(-name=>'sbmt', -value=>'исправить', onclick=>'history.go(-1)'); print $q->end_form(); } #завершение print $q->end_html(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 14:14 |
|
||
|
(Perl) Не могу понять ошибки в скрипте
|
|||
|---|---|---|---|
|
#18+
там тока end_form, за скобкой, а не перед ней... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 14:16 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33306701&tid=1477472]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 334ms |

| 0 / 0 |
