Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];

Вниз

По части WEB-программирования   Найти похожие ветки 

 
SPeller   (2002-05-17 11:11) [0]

Здравствуйте! Вопрос у меня такой. Как сделать две странички, которые делают такое: первая отправляется почтой некому юзеру и при нажатии на кнопку вызывает из инета вторую, передавая ей некоторые данные, введённые в специальные поля. Вторая же при получении этих данных посылает их на нужный почтовый ящик, выводя на экран пару слов, что запрос успешно выполнен. Как такое сделать?
Помогите пожалуйста!!!


 
Fellomena   (2002-05-17 13:13) [1]

Немного путанное объяснение, но из перечисленных функций я поняла, что всё это можно делать на стороне "клиента".
В таком случае, оптимальным, imho, было бы использовать JavaScript, освоить который не составит труда более-менее "продвинотому" программеру в рамках поставленной задачи.
Если что-то на стороне сервера делать - Perl. Тоже ничего супер сложного.
Если нужна помощь - мыль.
(только формулировочку проработай plz)


 
shiva1   (2002-05-17 13:16) [2]

Если на Delphi, то все просто. Сначала создаешь CGI-проект. Затем два Actiona в нем. Форма с первой страницы указывает на первый экшн. В енм ты формируешь письмо и отправляешь его пользователю при помощи компонента NMSMTP. Отображаешь результат через response.Content или PageProducer. Оттуда опять действие формы указывает на второй экшн, который опять отсылает письмо.
Хотя между нами говоря, не слишком хорошо понятна логика работы твоей программки, но суть везде одна и та же.


 
SPeller   (2002-05-17 13:38) [3]

Не. CGI не прокатит. Не все серваки их поддерживают. Narod.ru например. Желательно бы мне на яваскрипте или перле.

Попробую сформулировать по понятнее вопрос. Есть у нас первая страница. Мы её отправляем в качестве почтового письма юзеру. Тоесть работать она будет как запущенный в експлорере файл с диска. При нажатии на кнопку эта страница открывает из инета вторую страницу и передаёт ей информацию из полей, которые заполнил юзер, примерно как-то так: forum.pl?look=1&id=1021619506&n=3. Будет ещё лучше если инфа будет пересылаться через сокет. Вторая страница принимает эти данные, отправляет на нужный мэил и выводит пару строк текста. Вот в принципе и всё.


 
IronHawk   (2002-05-17 13:56) [4]

Да, я думал, у меня формулировки хромают, ну да ладно.
Ты поработай через ЯваСкрипты с Суками, это верняк, пусть он те куки высылает!
Ващето варинат галимый, но для твоей задачи в самый раз.


 
SPeller   (2002-05-17 14:02) [5]

Хавк, чё ты несёшь ??


 
IronHawk   (2002-05-17 14:13) [6]


> SPeller © (17.05.02 14:02)
> Хавк, чё ты несёшь ??

Всё шо юзер, забахает в страницу, пусть попадёт в кук, а ты его оттуда вставишь себе в страницу, ПОНЯЛ ?


 
Yakudza   (2002-05-17 14:26) [7]

>SPeller © (17.05.02 14:02)
Ты PHP владеешь ?


 
SPeller   (2002-05-17 16:26) [8]

Yakudza © (17.05.02 14:26)

Совсем чу-чуть, мало-мало, почти незаметно... :)


 
Yakudza   (2002-05-17 16:35) [9]

>SPeller © (17.05.02 16:26)
Надо CGI юзать.
все остально будет дюже криво - не советую.


 
vopros   (2002-05-17 16:40) [10]

SPeller
Ты что информацию о кредитках обманным путем хочешь получать?
Не прокатит.


 
Yakudza   (2002-05-17 16:43) [11]

>vopros © (17.05.02 16:40)
:)))


 
ZZ   (2002-05-17 16:45) [12]

SPeller
Не. CGI не прокатит. Не все серваки их поддерживают. Narod.ru например. Желательно бы мне на яваскрипте или перле.
Ни на перле (имеющим некоторое отношение к CGI), ни на пхп на народе не прокатит. На JS ни функций отправки, ни примеров скриптов я не видел => может лучше перенести сайт на какой-нибудь holm.ru wallst.ru ? На пхп этот скрипт будет занимать пару строк.

IronHawk
Ты поработай через ЯваСкрипты с Суками, это верняк, пусть он те куки высылает!
"Девочки, шли бы вы домой, война ведь " ®Анекдот про Штирлица


 
Donal_Graeme   (2002-05-17 16:54) [13]

яваскриптом почту не отправить. так что только серверные скрипты... перл, пхп. да, не все разрешают запускать на своём сервере скрипты, но хорошо поискав, можно и такой хостинг-провайдер найти :-) причём не обязательно российский. кстати, отправку почты со своего сервера тоже не все разрешают, а если и разрешают, то могут поставить ограничение.

а сам механизм очень прост, в первой странице сидит форма, у которой в параметре Action ссылка на скрипт, который и мэйл отправляет и генерит вторую страницу.

удачи :-)


 
SPeller   (2002-05-17 18:38) [14]

Всё довольно просто, но мне нужен код, как ни банально для форума это звучит. Ну надо. Пример хотябы


 
sunwheel   (2002-05-17 18:52) [15]

Файл order.pl
---------------
#! /usr/local/bin/perl

print "Content-Type: text/html\n\n";

if($ENV{"REQUEST_METHOD"} eq "GET"){
$query=$ENV{"QUERY_STRING"};
}
elsif($ENV{"REQUEST_METHOD"} eq "POST"){
sysread(STDIN,$query,$ENV{"CONTENT_LENGTH"});
}
@formfields=split(/&/,$query);
#
foreach(@formfields){
if(/^customer=(.*)/){$customer=urldecode($1);}
if(/^contact_person=(.*)/){$contact_person=urldecode($1);}
if(/^phone=(.*)/){$phone=urldecode($1);}
if(/^fax=(.*)/){$fax=urldecode($1);}
if(/^email=(.*)/){$email=urldecode($1);}
if(/^country=(.*)/){$country=urldecode($1);}
if(/^city=(.*)/){$city=urldecode($1);}
if(/^post_code=(.*)/){$post_code=urldecode($1);}
if(/^adress=(.*)/){$adress=urldecode($1);}
if(/^info=(.*)/){$info=urldecode($1);}
}

sub urldecode{
local($val)=@_;
$val=~s/\r\n/\n/g;
$val=~s/\+/ /g;
$val=~s/%([0-9a-hA-H]{2})/pack("C",hex($1))/ge;
return $val;
}

open (MAIL, "|mail mail\@mail.ru");
print MAIL "=New order\n";
print MAIL "Customer=$customer\n";
print MAIL "Contact_Person=$contact_person\n";
print MAIL "Phone=$phone\n";
print MAIL "FAX=$fax\n";
print MAIL "E-mail=$email\n";
print MAIL "Country=$country\n";
print MAIL "City=$city\n";
print MAIL "Post_Code=$post_code\n";
print MAIL "Adress=$adress\n";
print MAIL "Info=$info\n";
print MAIL "=aditional information\n";
print MAIL "REMOTE_ADDR=$ENV{"REMOTE_ADDR"}\n";
print MAIL "REQUEST_METHOD=$ENV{"REQUEST_METHOD"}\n";
print MAIL "REMOTE_HOST=$ENV{"REMOTE_HOST"}\n";
print MAIL "HTTP_USER_AGENT=$ENV{"HTTP_USER_AGENT"}\n";
close(MAIL);


print <<HTML;
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Orders mailing Ok</title>
</head>

<body bgcolor="#FFFFFF" text="#000000" stylesrc="left.htm">

<hr>
<p> <font size="6">Your order form is sent.</font></p>
<hr>

</body>

</html>
HTML

-----------------------------

Текст html страницы
----------------------------
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<META NAME="description" CONTENT="">
<META NAME=keywords" Content="">
<title>Order form</title>
</head>
<SCRIPT language=JavaScript>
//<!--
{if (self.parent.frames.length == 0) self.parent.location="index.html";}
// -->
</SCRIPT>

<body stylesrc="left.htm">
<h1 align="center"> ORDER</h1>
<hr>
<form method="GET" ACTION="/cgi-bin/order.pl">
<div align="center">
<center>
<table border="0" width="500">
<tr>
<td width="243"> Customer <input type="text" name="customer" size="33"></td>
<td width="247"> Contact person<input type="text" name="contact_person" size="33"></td>
</tr>
</table>
</center>
</div>
<div align="center">
<center>
<table border="0" width="500">
<tr>
<td width="155"> Phone<input type="text" name="phone" size="23"></td>
<td width="144"> Fax<input type="text" name="fax" size="22"></td>
<td width="181"> E-mail<input type="text" name="email" size="20"></td>
</tr>
<tr>
<td width="155"> Country<input type="text" name="country" size="23"></td>
<td width="144"> City<input type="text" name="city" size="22"></td>
<td width="181"> Post code<input type="text" name="post_code" size="20"></td>
</tr>
</table>
</center>
</div>
<div align="center">
<center>
<table border="0" width="500">
<tr>
<td width="480"> Adress<input type="text" name="adress" size="69"></td>
</tr>
</table>
</center>
</div>
<hr>
<p> Information</p>
<p> <textarea rows="6" name="info" cols="61"></textarea></p>
<p><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
</form>
<p align="center"> </p>

</body>

</html>

----------------------------------------------


Сначала загружается страница. После нажатия на кнопку отрабатывает скрипт на сервере. Не забудь скрипту поставить атрибут исполняемого.


 
IronHawk   (2002-05-17 18:52) [16]


> SPeller © (17.05.02 18:38)
> Всё довольно просто, но мне нужен код, как ни банально для
> форума это звучит. Ну надо. Пример хотябы

Узнаю школу ........ :-))))


 
sunwheel   (2002-05-17 18:58) [17]

В догонку, вот этот код из hml страницы выкини:

<SCRIPT language=JavaScript>
//<!--
{if (self.parent.frames.length == 0) self.parent.location="index.html";}
// -->
</SCRIPT>



 
SPeller   (2002-05-17 19:10) [18]

Пасибо, проверим...


 
Black_Angel   (2002-05-17 21:02) [19]

Другой вариант на ПХП:
страница с полями:
<html>
<body>
<form action="1.php">
<input type="text" name="name1" value="">
</form>
</body>
</html>

Файл 1.php
<?
if (@mail(
"mail@mail.ru",
"Название темы",
"Текст письма, можно сюда или в тему, например, вставить значение введёное юзвером, т.е. значение переменной: $name1 , знак доллара обязателен перед именем переменной",
"From: Пупкин<mail@pupkin.ru>\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit\nMIME-Version: 1.0"));
{
echo "сообщение что всё ок или любой хтмл код";
}
else
{
echo "сообщение что ничего не получилось или любой хтмл код";
}
?>

Что не понятно, спрашивай.


 
SPeller   (2002-05-20 12:23) [20]

2 sunwheel © (17.05.02 18:52)

Не работает. При нажатии на Submit вылазит исходный текст файла order.pl. Чё-т вы там абшиблись...

help!!!



 
SPeller   (2002-05-20 12:24) [21]

2Black_Angel © (17.05.02 21:02)

Ваше тоже не пашет.


 
Donal_Graeme   (2002-05-20 17:37) [22]

не пашет, конечно... если на народе запускать :-)


 
sunwheel   (2002-05-20 18:13) [23]

SPeller © (20.05.02 12:23)

Зарегестрируйся на www.h1.ru или www.wallst.ru
order.pl помести в каталог CGI (если не ощибаюсь)
поставь ему аттрибут 751, в html - ACTION="/cgi-bin/order.pl"
меняешь на ACTION="www.<твое_регистрационное_имя>.h1.ru/cgi-bin/order.pl". Это конечно изврат, но работать будет.



 
SPeller   (2002-05-20 18:17) [24]

2sunwheel © (20.05.02 18:13)

Попробую...


 
sunwheel   (2002-05-20 18:18) [25]

Поправка.
Работать скрипт будет, но почта отсылаться не будет.
Необходимо связаться с админом www.h1.ru по e-mail и
попросить включить для тебя эту фичу. Может быть и
включит. :)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.031 c
14-77583
Незарегистривов
2002-05-21 03:18
2002.06.24
О цвете


1-77396
Воронкин
2002-06-10 14:53
2002.06.24
[D6,WinAPI] NetUserEnum


7-77641
МИФИст
2002-03-29 00:48
2002.06.24
Нажатие Backspace...


14-77561
IronHawk
2002-04-29 16:07
2002.06.24
---|Ветка была без названия|---


1-77402
MyasNick
2002-06-13 15:27
2002.06.24
Настройки печати





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский