#!/usr/bin/perl -w use strict; use CGI qw/:standard *table start_ul/; use Time::localtime; use Net::SMTP; use DBI; my @months = qw(Января Февраля Марта Апреля Мая Июня Июля Августа Сентября Октября Ноября Декабря); my @vals=qw( meh hmm zakzak ); print header(-charset=>'koi8-r'), start_html(-title=>'Создание профиля пользователя', -style=>{'src'=>'/kping_tst_zone/reg_frm.css'} ); if (param()) { if(!param('lastname') or !param('firstname') or !param('patronymic') or !param('office') or !param('division') or !param('fone') or !param('leader')) { print "Обязательные поля должны быть заполнены", br, a({href=>"javascript:history.back()"},"<< Назад"), br, } else { my @monthseng = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); my $day=localtime->mday; my $year=1900+localtime->year; my $month=$months[localtime->mon]; my $firstname=param('firstname'); my $output= h1({-align=>'center'}, 'ОАО "Амурметалл"') . hr . h2({-align=>'center'} , 'Заявка
на доступ пользователя к ресурсам
корпоративной локальной сети'). p({-align=>'right'} , "\"$day\" $month $year
"). 'Фамилия: '. em(param('lastname')). br . 'Имя: ' . em(param('firstname')) . br . 'Отчество: ' . em(param('patronymic')). br . 'Должность: ' . em(param('office')) . br . 'Подразделение: ' . em(param('division')) . br . 'Телефон: ' . em(param('fone')) . br . 'Интернет, лимит: ' . em(param('inetlimit')) . br . 'Интернет, назначение: ' . em(param('inetapp')) . br . 'Программы: ' . br; my @soft_picked = param('software'); for (my $i=0; $i<=$#soft_picked; $i++) { $output .= $soft_picked[$i] . br; } $output.='Руководитель подразделения (ФИО, подпись): ' . br . em(param('leader')) . ' 'x20 . '______________________________' . br . 'Пользователь (подпись): ______________________________' . br . h3({-align=>'center'} , 'Служебные заметки') . 'Сотрудник: ' . em(param('employee')) . br . br; print $output; foreach my $var (sort(keys(%ENV))) { my $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; $output .= "${var}=\"${val}\"
"; } #print $ENV{'REMOTE_ADDR'}; my $dbh = DBI->connect("DBI:mysql:database=pf;host=localhost", "root", "mysql-password"); if ($dbh eq "") { print "DB connection error
"; } else { $dbh->do("INSERT INTO pro (firstname) VALUES('$firstname')"); } my $sth = $dbh->prepare("SELECT * FROM pro"); $sth->execute(); my @datadb=$sth->fetchrow_array; print $datadb[2]; exit; my $mail_from = "kingping\@amurmetal.ru"; my $mail_to = "kingping\@amurmetal.ru"; my $smtp = Net::SMTP->new('localhost'); $smtp->mail($mail_from); $smtp->to($mail_to); $smtp->data(); $smtp->datasend("Content-Type: text/html; charset=koi8-r;\n"); $smtp->datasend("Subject: New user profile creation\n"); $smtp->datasend("From: $mail_from\n"); $smtp->datasend("To: $mail_to\n"); $smtp->datasend("\n"); $smtp->datasend("$output"); $smtp->dataend(); $smtp->quit; } } else { &print_frm; } sub print_frm() { # kingping -- There must be no spaces in the beginning of the next string # and the others which contain END operator, # otherwise interpreter won't process the script (damned Perl!) my $heredoc = <ОАО "Амурметалл"

Заявка на доступ пользователя к ресурсам корпоративной локальной сети

Символом * отмечены обязательные поля.

END print $heredoc, start_form; $heredoc = < Фамилия: *   Имя: *   Отчество: *   Должность: *   Подразделение: *   Телефон: *   Руководитель подразделения (ФИО): *   Интернет, лимит: Объем Интернет трафика в месяц Интернет, назначение: Цели использования Интернет трафика Сотрудник: Ф. И. О. лица, заполняющего данную форму END print $heredoc, '', 'Программы:', '', checkbox_group(-name=>'software', -values=>\@vals, -linebreak=>'true'), p, submit('Печать'), "", 'Программы, необходимые для работы', "",end_form; } print end_html;