Достал простинький скрипт форма почтой но от обрабатывает только одни поля формы input
Как и где дописать чтобы он обрабатывал и все другие поля которые можно построить в форме.
Сам скрипт:#!/usr/bin/perl
use CGI qw(:standard);
# Конфигурация
# -----------------------------------------------------------------#
# Маршрут к директории шаблонов. (символ / в конце - не ставится)
$maindir = "/home/1128/s1344/public_html";
# Маршрут до программы sendmail
$mailprog = "/usr/sbin/sendmail";
# Имя файла (не путь) формы шаблона, откуда будет послылаться сообщение. Файл должен быть в директории шаблонов.
$t1 = "order.html";
# 1 = Вывод "СПАСИБО"
# 2 = Переадресация на заданный URL.
$redirtype = 1;
# 1 Имя файла (не путь) формы шаблона, для вывода "СПАСИБО". Файл должен быть в директории шаблонов.
$t2 = "formsend/yesorder.html";
# 2 Полный адрес (
http://newproject.vov.ru/) для переадресации на заданный URL, после отправки сообщения.
$t3 = "
http://weba.net.ru";
# Имя файла (не путь) шаблона, который использует программа отправки на e-mail.
$t4 = "formsend/yesorder.txt";
# Куда посылать сообщения? "To:" 1 = Не посылать, 0 = Послать на специальный адрес "To:"
$us1 = 0;
# Если $us1 = 0, тогда определите адрес куда почта будет послана, если $us1 = 1, тогда это не будет выполнено если эта ячейка не заполнена.
$to = "info\\@weba.net.ru"; # написание только такое имя\\@сервер.com
# Определить спец-адрес "From:" - 1 = Не посылать, 0 = Послать на специальный адрес (от кого) "From:"
$us2 = 1;
# Если $us2 = 0, тогда определите адрес куда почта будет послана, если $us2 = 1, тогда это не будет выполнено если эта ячейка не заполнена.
$from = "info\\@weba.net.ru"; # написание только такое имя\\@сервер.com
# Заголовок отправляемого сообщения.
$subject = "Оформление заказа";
# Имена этих областей могут быть изменены, но тогда внесите такие-же изменения в шаблоны, иначе скрипт работать не будет.
$p1 = "1";
$p2 = "2";
$p3 = "3";
$p4 = "4";
$p5 = "5";
$p6 = "6";
$p7 = "7";
$p8 = "8";
$p9 = "9";
$p10 = "a";
$p11 = "b";
$p12 = "c";
# --------------------------------------------------------------------------------#
$action = param(\'action\');
if ($action eq "send") {
print "Content-type: text/html\\n\\n";
$to = param(\'to\') unless ($us1 == 0);
$from = param(\'from\') unless ($us2 == 0);
$subject = param(\'subject\') unless ($subject ne "");
$ip = $ENV{\'REMOTE_ADDR\'};
$ap1 = param("$p1");
$ap2 = param("$p2");
$ap3 = param("$p3");
$ap4 = param("$p4");
$ap5 = param("$p5");
$ap6 = param("$p6");
$ap7 = param("$p7");
$ap8 = param("$p8");
$ap9 = param("$p9");
$ap10 = param("$p10");
$mail = &load("$maindir/$t4");
$mail =~ s/\\$ip/$ip/ig;
$mail =~ s/\\$from/$from/ig;
$mail =~ s/\\$to/$to/ig;
$mail =~ s/\\$subject/$subject/ig;
$mail =~ s/\\$$p1/$ap1/ig;
$mail =~ s/\\$$p2/$ap2/ig;
$mail =~ s/\\$$p3/$ap3/ig;
$mail =~ s/\\$$p4/$ap4/ig;
$mail =~ s/\\$$p5/$ap5/ig;
$mail =~ s/\\$$p6/$ap6/ig;
$mail =~ s/\\$$p7/$ap7/ig;
$mail =~ s/\\$$p8/$ap8/ig;
$mail =~ s/\\$$p9/$ap9/ig;
$mail =~ s/\\$$p10/$ap10/ig;
open(MAIL,"|$mailprog -t");
print MAIL "From: $from\\n";
print MAIL "To: $to\\n";
print MAIL "Subject: $subject\\n\\n";
print MAIL "$mail";
print MAIL "\\n\\nInternet Organization WEBA.\\n\\n";
close(MAIL);
&PrintThanks;
exit;
}
&PrintMainPage;
sub PrintMainPage {
print "Content-type: text/html\\n\\n";
print &load("$maindir/$t1");
}
sub PrintThanks {
if ($redirtype == 1) {
$page = &load("$maindir/$t2");
$page =~ s/\\$ip/$ip/ig;
$page =~ s/\\$from/$from/ig;
$page =~ s/\\$to/$to/ig;
$page =~ s/\\$$p1/$ap1/ig;
$page =~ s/\\$$p2/$ap2/ig;
$page =~ s/\\$$p3/$ap3/ig;
$page =~ s/\\$$p4/$ap4/ig;
$page =~ s/\\$$p5/$ap5/ig;
$page =~ s/\\$$p6/$ap6/ig;
$page =~ s/\\$$p7/$ap7/ig;
$page =~ s/\\$$p8/$ap8/ig;
$page =~ s/\\$$p9/$ap9/ig;
$page =~ s/\\$$p10/$ap10/ig;
print $page;
}
if ($redirtype == 2) {
print "Location: $t3\\n\\n";
}
}
sub load {
my $file = shift;
my $string;
open(INPUT, "<$file") || do { print "Content-type: text/html\\n\\n"; print "Произошла ошибка при открытии файла-шаблона. Пожалуйста попробуйте заново через 10 минут. $file"; exit; };
undef $/;
$string = (
);
$/ = "\\n";
close(INPUT);
return $string;
}