Список форумов SeoChase SeoChase

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы  РекламаРеклама   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Форма из разряда "Посоветуй другу". Помогите чуток

 
Начать новую тему   Ответить на тему    Список форумов SeoChase -> Программирование и хостинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
maxx2000
Квоттер


Зарегистрирован: 28.03.2005
Сообщения: 43

СообщениеДобавлено: Вт Июл 12, 2005 4:01 pm    Заголовок сообщения: Форма из разряда "Посоветуй другу". Помогите чуток Ответить с цитатой

Короче есть скрипт из разряда "ПОСОВЕТОВАТЬ ДРУГУ". Полностью рабочий. Проблема - Как части sub make_page { и sub bademail { , а так же эту часть
}
print "<html><head><title>Пасиб</title></head>\n";
print "<body><center><h1>\n";
print "Спасибо</h1>Пасиб\n";
print "</body></html>\n";
exit;
}


Вынести в отдельный *.html файл, а то оно все в файле скрипте *.cgi и не очень вписывается в сайт. Т.е. что бы все формы были в *.html, а сама программа в *.cgi

Код:
#!/usr/bin/perl

$mailprogram = "/usr/sbin/sendmail";

$tell = 3;

$message = <<'IMDONEWRITING';
Привет. Я хочу посоветовать тебе сайт http://x.kiev.ua
Много полезной информации. Посети не пожалеешь.
IMDONEWRITING

print "Content-type: text/html\n\n";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}

if ($FORM{'send'}) {
$temp1 = $FORM{'yemail'};
$temp2 = $FORM{'email1'};
$temp1 =~ s/_/a/g; $temp2 =~ s/_/a/g;
$temp1 =~ s/-/a/g; $temp2 =~ s/-/a/g;
unless ($temp1 =~ /\w+@\w+.\w+/) { &bademail($FORM{'yemail'}); }
unless ($temp2 =~ /\w+@\w+.\w+/) { &bademail($FORM{'email1'}); }
if ($FORM{'yname'}) { $from = "\"$FORM{'yname'}\" <$FORM{'yemail'}>"; }
else { $from = $FORM{'yemail'}; }
for ($i = 1; $i <= $tell; $i++) {
$temp1 = "email" . $i;
$temp2 = $FORM{$temp1};
$temp2 =~ s/_/a/g; $temp2 =~ s/-/a/g;
unless ($temp2 =~ /\w+@\w+.\w+/) { next }
$temp2 = "name" . $i;
if ($FORM{$temp2}) { $sendto = "\"$FORM{$temp2}\" <$FORM{$temp1}>"; }
else { $sendto = $FORM{$temp1}; }

open (MAIL,"|$mailprogram -t");
print MAIL "To: $sendto\n";
print MAIL "From: $from\n";
print MAIL "Subject: A note from a friend...\n\n";
print MAIL "$message\n\n";

close(MAIL);
}
print "Location: http://x.kiev.ua/contacts_sent.html\n\n";
}

else {
&make_page("");
}

sub bademail {
$bad = shift(@_);
$alert = "<p><center><font size=\"+1\"><b><center>I'm sorry, but the e-mail\n";
$alert .= "&quot;$bad&quot; is invalid. Please try again.\n";
$alert .= "</center>\n";
&make_page($alert);
}

sub make_page {
$alert = shift(@_);
print "<html><head><title>Tell your friends!</title></head>\n";
print "<body bgcolor=\"#000000\" text=\"#ffffff\" link=\"#ff0000\"><center><h1>\n";
print "Tell your friends!</h1></center>You can use this handy\n";
print "form to tell your friends about my web site. Just enter\n";
print "your e-mail address and your friend's e-mail address, \n";
print "and click Submit!\n";
print "$alert\n";
print "<form method=\"POST\"><input type=\"hidden\" name=\"send\" value=\"-1\">\n";
print "<center><table width=\"450\" cols=\"2\">\n";
print "<tr><td><font size=\"-1\">Your name:<br><input type=\"text\" name=\"yname\" value=\"$FORM{'yname'}\">\n";
print "</font></td><td><font size=\"-1\"><b><font color=\"#FF0000\">*</font>\n";
print "</b>Your e-mail<br><input type=\"text\" name=\"yemail\" value=\"$FORM{'yemail'}\">\n";
print "</font></td></tr>\n";
for ($i = 1; $i <= $tell; $i++) {
print "<tr><td><font size=\"-1\">Friend #$i" . "'s name:<br>\n";
$temp = "name" . $i;
print "<input type=\"text\" name=\"name$i\" value=\"$FORM{$temp}\"></font></td><td>\n";
print "<font size=\"-1\">";
if ($i == 1) { print "<b><font color=\"#FF0000\">*</font></b>"; }
$temp = "email" . $i;
print "Friend #$i" . "'s e-mail:<br><input type=\"text\" name=\"email$i\" value=\"$FORM{$temp}\">\n";
print "</font></td></tr>\n";
}
print "<tr><td align=\"right\"><input type=\"submit\" value=\" Tell them! \">\n";
print "</td><td><input type=\"reset\"></td></tr></table></form><b>\n";
print "<font face=\"arial\" size=\"-1\">Fields marked with <font color=\"#FF0000\">\n";
print "*</font>'s are required.</font></center></body></html>\n";
exit;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Кира
Lincoln


Зарегистрирован: 17.01.2005
Сообщения: 213

СообщениеДобавлено: Ср Июл 13, 2005 2:27 pm    Заголовок сообщения: Ответить с цитатой

что-то очень сложно.
По сути это письмо отправленное с сайта. Только текст письма - шаблон. Пользователю остается добавить адрес кому отправить это письмо Smile
Я даже видела сервис... сейчас поищу
нашла
http://www.1-hit.com/all-in-one/tell-a-friend.htm
называется Tell-a-friend service
еще видела на сайтах где коллекции скриптов. Называется ... что-то вроде "рекомендовать другу"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
maxx2000
Квоттер


Зарегистрирован: 28.03.2005
Сообщения: 43

СообщениеДобавлено: Ср Июл 13, 2005 3:19 pm    Заголовок сообщения: Ответить с цитатой

Все правильно так и есть...
Но если ты заметишь... на
http://www.1-hit.com/all-in-one/tell-a-friend.htm
Форма вынесена в htm а не РНР файл... вот это и мне требуется...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
maxx2000
Квоттер


Зарегистрирован: 28.03.2005
Сообщения: 43

СообщениеДобавлено: Ср Июл 13, 2005 5:22 pm    Заголовок сообщения: Ответить с цитатой

да нашел этот скрипт... все вроде ОК. Простой до тупости прям для меня. Я чуток переделав его, решил еще одну проблему.
Пасиб...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов SeoChase -> Программирование и хостинг Часовой пояс: GMT
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group