Forum Webscript.Ru
Программирование => Perl => Тема начата: Yaroslav от 25 Июня 2003, 12:21:34
-
Подскажите пожалуйста,
У меня на сайте регестрируются всякие типы и оставляют там свое мыло, далее сделана рассылка, но что то она плохо работает: выдает (Internal Server Error), хотя рассылка отправлена и текст вставлен как надо, но сообщения что все ок не выдает.
Когда тестировался скрипт, все было ок.
Я вот думаю что это из за того что кто то вводит неправильные адреса (то зяпятые, да и вообще неправильные), вопрос, как сделать, что б эти адреса проверались при вводе или же что б мне сообщалось при отправке какой адресс не правильный
-
http://wiki.webscript.ru/PFWWW500
-
проверка email
Насколько помниться обсуждалась тема.
$email = \'email@address.com\';
if ($email =~ /^[a-zA-Z_\\.-][a-zA-Z0-9_\\.-\\d]*\\@[a-zA-Z\\.-\\d]+\\.[a-zA-Z]{2,4}$/) {
# действия, выполняемые если e-mail верный
}
else {
# действия, выполняемые если e-mail НЕверный
}
Читай дальше: http://www.webscript.ru/stories/02/02/28/6359691
-
NeoNox:
http://wiki.webscript.ru/PFWWW500
еще раз повторяю - Когда тестировался скрипт, все было ок
и он то работает, с моими 3 адресами как песня, а когда подключаю список всех зарегестрированых адресов, вот такая вот беда
-
Yaroslav еще раз повторяю
Если у вас нет доступа к логу ошибок сервера, для отладки скрипта используйте
директиву use CGI::Carp qw (fatalsToBrowser);
А если есть доступ к логам - смотрим там. Гадать что и где у тебя неправильно работает слишком неблагодарное занятие.
-
NeoNox:
А если есть доступ к логам - смотрим там. Гадать что и где у тебя неправильно работает слишком неблагодарное занятие
Нету...(((
Согласен.
что происходит при нажатии "отправить" - очень долго думает, даже хочется еще раз нажать "отправит", а потом ошибка, но при этом сработало как надо.
Может так легче будет? часть скрипта:
sub add {
$s=0;
$str=$FORM{\'str\'};
$sp=$FORM{\'sp\'};
$tema=$FORM{\'tema\'};
$name=$FORM{\'name\'};
$pass=$FORM{\'pass\'};
$text=$FORM{\'text\'};
chomp $text;
$tel=$FORM{\'tel\'};
$email=$FORM{\'email\'};
if ($tema eq \'\'){
$Problem="Вы не ввели тему заказа.\\n"; &Error; exit; }
if ($name eq \'\'){
$Problem="Вы не ввели название Вашего предприятия.\\n"; &Error; exit; }
if ($pass eq \'\'){
$Problem="Вы не выбрали себе пароль. (пароль нужен для изменения или удаления введенной Вами информации.\\n"; &Error; exit; }
if ($text eq \'\'){
$Problem="Вы не ввели полное описание.\\n"; &Error; exit; }
else {
open (MSG, "$file");
@msg=;
close(MSG);
open (FILE, ">$file");
foreach $line (@msg) {
if ($s == $str) {
if ($sp eq "0") { print FILE "$sp`$tema`$name`$pass`$tel`$email`$date`$text\\n$line"; }
if ($sp eq "-") { $mline=$line; print FILE "$line$sp`$tema`$name`$pass`tel`email`$date`$text\\n"; }
if ($sp eq "!") { print FILE "0`$tema`$name`$pass`$tel`$email`$date`$text\\n"; }
}
else { print FILE "$line"; }
$s++; }
close(FILE);
&htmlhead;
$Head="Сообщение добавлено";
&PrintTableHeader;
print "Ваше сообщение добавлено.
\\n";
print "Кликните сюда чтобы перейти к списку сообщений\\n";
&mail;
} }
-
NeoNox:
Если у вас нет доступа к логу ошибок сервера, для отладки скрипта используйте
директиву use CGI::Carp qw (fatalsToBrowser);
как раз вчера выкачал, сижу грызу гранит науки :)
-
use CGI::Carp qw (fatalsToBrowser);
Ээээ...уже не один раз сказали.
-
alex007:
Читай дальше: http://www.webscript.ru/stories/02/02/28/6359691
спасибо за статейку.
Из чего следует что самый оптимальный вариант - отправка на мыло и подтверждения.
переходим к новой теме ))