Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   HTML, Формы... (http://forum.oszone.net/showthread.php?t=31367)

Dafi 31-12-2003 17:53 214895

Приветствую Форум!
вопрос к знатокам инета: если в страничку вставить вот это:

<FORM ACTION="мой@е-майл" METOD=post(или get)>
<TEXTAREA NAME=mes>
text
</TEXTAREA>
<INPUT TYPE="SUBMIT">
</FORM>

получу я сообщение "mes=text"? (на мыло конечно).
Страничка безплатная, на www.fortunecity.com



vadimiron 01-01-2004 01:37 214896

а ты попробуй :)

я думаю, что нет, так как в  action надо писать  имя обрабатывающей программы

Dafi 02-01-2004 11:34 214897

Пробовал, не получается. Скачал описание НТМЛ, там написано:
"...Программы обработки называются CGI-скриптами и разрабатываются
на различных языках программирования.
А что если Вы хотите организовать анкету, но писать программы Вы не умеете?
Тогда можно отправить поток сообщений на Ваш почтовый адрес."

"Параметр ACTION является обязательным. он указывет адрес обработчика формы
(например адрес программы обработки или почтовый адрес или
просто адрес URL для перехода"

Поддержки CGI нет, (страничка халявная), т.е. вопрос в следующем: можно
получить инфу через формы без этой поддержки?
и еще: может кто знет где можно разместить страничку чтобы безплатно
но с поддержкой CGI?:)

UZER 02-01-2004 12:21 214898

Dafi
Можно заставить браузер сгенерить из введенных данных письмо и попросить пользоватьеля нажать кнопку Отправить в почтовой программе. Если нужно, дам код.
Цитата:

может кто знет где можно разместить страничку чтобы безплатно
но с поддержкой CGI?
http://www.fatal.ru


[s]Исправлено: UZER, 12:22 2-01-2004[/s]

Dafi 02-01-2004 13:31 214899

UZER

Буду благодрен:)
только не понятно: "отправить" в смысле стандартной кнопки
"SUBMIT" ? В общем жду с интересом:up:
Да, и если можно пару слов типа инструкций, а то я с НТМЛ
ток-тока разбираюсь:)

UZER 02-01-2004 17:47 214900

Dafi
Код:


<FORM action="mailto:ddddd@ddd.dd" method="post">
Имя:
<INPUT type="text" name="imya1">
<br>
Фамилия:
<INPUT type="text" name="familiya1">
<br>
Телефон:
<INPUT type="text" name="telefon1">
<br>
Пол:   
<INPUT type="radio" name="pol1" value="Male"> М 
<INPUT type="radio" name="pol1" value="Female"> Ж
<br>
<INPUT align="bottom" type="submit" value="Отослать">
<br>
<INPUT type="reset">
</form>

Вот форма, генерирующая письмо.
Правда, она должна отправлять данные в тексте письма, а не аттачем... ;)


[s]Исправлено: UZER, 4:37 6-01-2004[/s]

Dafi 03-01-2004 01:03 214901

UZER
почтовый ящик не проблема(на страничке можно ет самое mailto:mail@mail вставить, типа письма сюда), вопрос: можно получитть инфу через формы на мыло?



[s]Исправлено: Dafi, 22:10 3-01-2004[/s]

UZER 03-01-2004 02:21 214902

Dafi
Цитата:

Приветствую Форум!
вопрос к знатокам инета: если в страничку вставить вот это:

<FORM ACTION="мой@е-майл" METOD=post(или get)>
<TEXTAREA NAME=mes>
text
</TEXTAREA>
<INPUT TYPE="SUBMIT">
</FORM>

получу я сообщение "mes=text"? (на мыло конечно).
Страничка безплатная, на www.fortunecity.com
Где написано, что текст должен попасть к тебе без помощи пользователя?
:o Уточняй сразу.
Цитата:

Поддержки CGI нет
Раз нет поддержки CGI, значит 2 варианта - перейти на другой хостинг или использовать мой код

ЗЫ Найди хостинг с поддержкой PHP, знаю, там есть функция mail(), но в самом языке я не разбираюсь ;)

Dafi 03-01-2004 12:05 214903

Без помощи пользователя текст ко мне ну никак не попадёт, он должен кнопку "SUBMIT" нажать, и пойдёт это (в смысле значения форм в виде "имя поля=Значение поля") на обработку либо к программе (я тоже не профи, но думаю ПЕРЛ справится, нужна поддержка ЦГИ и ПЕРЛ), либо на е-майл. виды форм не
имеют значения, TEXTAREA я для примера привёл. Простро второй вариант хорош простотой (не надо *программировать, форму в НТМЛ-код вставил и получай инфу на мыло.)
В общем так я это всё понимаю, но пробовал-не получилось:(
Уточняю: как получить значение полей формы на мыло? (после нажатия кнопки 'SUBMIT", ссылка на е-майл-это понятно, просто, и не нужно.)
обязательна ли поддержка CGI для этого? (смотрители серваков это видимо знают, но...молчат :)
И что надо в ACTION указывать: GET ili POST?
Спасибо за отзывы:oszone:
P.S. UZER, спасибо за  код

[s]Исправлено: Dafi, 12:39 3-01-2004[/s]


[s]Исправлено: Dafi, 11:44 4-01-2004[/s]

vadimiron 03-01-2004 22:37 214904

Есть вроде неплохой хостинг с поддержкой PHP : best-host.ru

на языке PHP  решается твоя проблема очень просто, всего с помощью одной функции mail(), недавно на этом форуме уже поднимался вопрос на эту тему, поищи и узнаешь всё про это функцию,

Так что  Дерзай!

Dafi 05-01-2004 14:45 214905

vadimiron

На best-host.ru зайти не получилось (видимо проблемы с сервером). Может besthost.ru имелся в виду? но он платный:(
UZER

Еще раз спасибо за НТМЛ-код, но там цепочка символов которая ="мой@е-майл" и которая сидит в исходнике данной страницы (форума т.е.). Нельзя ли заменить мой майл на что нить типа dddd@dddddd.ru? (не хотелось бы в спам-лист попасть):)
ну или оформи это джава-скриптом :)

UZER 06-01-2004 04:37 214906

Dafi
Пишешь на странице вот так
Код:

<script language="JavaScript" src="http://my_site_adress/scripts/forma....lt;/script>
Как ты понял, здесь укзывается адрес к скриту *.js
Далее открываешь блокнот и пишешь там
Код:

document.write('<FORM action="mailto:xxxxxx@xxxx.xx" method="post">');
document.write('Имя:');
//
//И так далее до </form>
//
document.write('</form>');

Думаю, ошибок не должно быть, хотя...я на яваскрипте кодил очень давно ;)
Сохраняешь все это как forma.js
Надеюсь, все ясно...
Удачи!


[s]Исправлено: UZER, 18:15 6-01-2004[/s]

Dafi 06-01-2004 16:42 214907

UZER

Первый пример исправлен и за это спасибо, НО.......
всё равно ведь к спамерам могу попасть:o
Во втором примере цепочка="мойистинный@емайл" тоже сидит:)
И не важно что в аргументе функции, она в исходном коде есть
(т.е. присутствует полностью в виде "dddd.d@dddd.ru") что запросто находится поиском по шаблону и анализом на соответствие синтаксису Е-Маила.
В общем я имел ввиду разделить на части, заключить в кавычки,
вставить "+"-ы и всё это использовать как аргумент, типа;

document.write('<A HREF="mai'+'lto:daf'+'i.k@m'+'ail.ru">'+'My E-Mail</A>')

Е-майлы в профилях по этому принципу записаны, по этому спам нам не страшен! * *:)

P.S. вопрос уже не о том, КАК мне делать МОЮ страницу, а о том чтобы мой истинный майл не вычислили спам-боты в исходнике ЭТОЙ, форумовской страницы, поэтому и прошу исправить в примере №2 мой майл (на xxxx@xxxx.xx например)


[s]Исправлено: Dafi, 18:00 6-01-2004[/s]

UZER 06-01-2004 18:15 214908

Dafi
Формулируй точнее свои вопросы. В спам листы ты все равно попадешь, это неизбежно


[s]Исправлено: UZER, 18:16 6-01-2004[/s]

mar 06-01-2004 18:38 214909

когда-то я натыкалась на очень милую прграммку - что-то вроде mailencryption (не помню). Суть - в исходнике всеe-mail  пишутся в 16-ичке, те спамлисты так просто не берут,  а броузеры и программы отрабатывают верно.

Dafi 07-01-2004 02:29 214910

UZER

Основной вопрос касался моей страницы,  а майл изменить-это типа просьба местного значения:)
Как всё было: вычитал в том описании НТМЛ что можно по почте
инфу от форм получить ("...а если не умеете програмировать..." и т.д., см. выше) и, честно говоря, сииииильно усомнился:)
т.е. в принципе можно посетителя попросить прислать данные на  мыло, но чтоб при нажатии САБМИТ-а данные (значения форм) оформились письмом и дружно пришли на мыло...и это без цги-скриптов...да и посетителям больше нравится мышку щёлкать, чем клаву:) А ежли и пришлют пиьма, данные в базу в ручную тока заносить:biggrin:
Правда можно еще пронумеровать вопросы, рядом с вопросами оформить линки на маил, а в сабжектах указать номер вопроса.
В инструкции будет "кликайте и шлите пустые письма":)
Щелкают тока мышку, а программно извлечь сабжекты и УРЛ-ы отправителя-дело техники.
Но...Кустарщина-с...С ЦГИ всё же лучше:)
Всем спасибо за отзывы:):

UZER 07-01-2004 03:21 214911

Dafi
А почему не на цги? лень учитЬ ;)

Dafi 07-01-2004 14:14 214912

UZER

Да нет, с ЦГИ интереснее, а главное лучше! сейчас вот с ПЕРЛ-ом разбираюсь, описание недавно скачал, "Учебное пособие по ЦГИ-программированию от Лёши" называется,
не плохо  излагает:)
Просто хотелось бы ЦГИ на халяву, но таких хостингов чё-то не видно.
Заходил на фатал.ру, но ссылка РЕГИСТРАЦИЯ там вооще мёртвая (новогодние проблемы с сераком наверное):)

UZER 07-01-2004 17:05 214913

Dafi
На fatal.ru сейчас регистрация закрыта, слишком много юзеров зарегилось, но это временное, уже много раз такое было.
Удачи тебе в изучении cgi от Лёши :gigi:

mar 07-01-2004 20:40 214914

Dafi
JavaScript-ом без CGI можно открыть  почтовую программу пользователя и поместитиь туда на нужные места все данные формы, но, естественно, ему (пользователю) придется и на submit (или что-нибудь, например ссылку) нажимать и в почтовой программе на "отправить". Второе "но" - это то, что должна быть установлена почтовая программа по умолчанию, чего может и не быть, если пользователь сидит в каком нибудь, например в нашем :biglaugh: компьютерном классе, интернет-кафе и тд.
Хостинги с CGI халявные есть и в довольно больших количествах - надо только посмотреть в поисковике и, кстати, на этом форуме: http://forum.oszone.net/topic.cgi?fo...&topic=190
Удачи

Dafi 08-01-2004 15:45 214915

mar

Буду благодарен за примерчик на яваскрипте, (т.е. как поместить данные от формы в тело письма по нажатии САБМИТ)
как гррится, век живи-век учись  :)

mar 08-01-2004 21:14 214916

Dafi вот строчка:
Код:

<html><body>
<form method="post" name="mf" action="mailto:Dafi@Dafi.net?SUBJECT=что-то там&BODY=ку-ку">
</form>
<A href="javascript:document.mf.submit();">отправить письмо</a>
</body></html>

Соответственно,
строку надо динамически собирать из элементов формы.
Под OutlookExpress работает
=)

Dafi 08-01-2004 21:31 214917

mar

Да уж...я б записался в Ваш класс:)
Тему наверное можно считать исчерпанной, узнал много интересного.
Всем спасибо за линки и инфу и good luck to all:oszone:

Blast 22-01-2004 13:36 214918

Помощь по получению результатов из формы нужна...
Суть в том что в формочку нужно добавить чекбоксы и сделать так чтобы при получении письма с этой формы было обозначено поставлена ли птица на том или ином чекбоксе.
форма на php, получать текст внесенный в поля формы удается без проблем, а вот как сделать то же с чекбоксами...?
Только если можно наиболее доступным языком... учусь я только...

Prisoner 22-01-2004 22:20 214919

Чекбокс имеют имя (name="some_name") и значение (value="some_value").
Можно проверять и получать значения так (для метода GET, но для POST аналогично, только массив будет не $_GET, а $_POST):
Код:

if (isset($_GET['some_name']))
   echo 'Чекбокс с именем "some_name" выбран и имеет значение'.$_GET['some_name'];
else
   echo 'Чекбокс с именем "some_name" не выбран';

а еще можно указывать в коде странички массивы чекбоксов:
Код:

<input type="checkbox" name="Name[name_1]" value="1">Чекбокс_1
<input type="checkbox" name="Name[name_2]" value="2">Чекбокс_2
<input type="checkbox" name="Name[name_3]" value="3">Чекбокс_3
<input type="checkbox" name="Name[name_3]" value="4">Чекбокс_4

Тогда в скрипт, если выбран хоть один чекбокс в соответствии с методом отправки данных формы придет массив с выбранными чекбоксами, которые можно разлиxать по уникальным значениям:
Код:

if (isset($_GET['Name']))
  foreach($_GET['Name'] as $Name=>$Value)
    {
     echo 'Чекбокс с именем "'.$Name.'" выбран и имеет значение'.$Value.'<br>';
    }
else
   echo 'Ни один чекбокс не выбран';

Если где напутал, не ругайте сильно - не сплю 25ый час :(

Ginger 22-01-2004 23:22 214920

Blast
так что - исходная форма шлёт е-майл как надо?


Добавлено:

а если так:
Код:

<?php
$mailto="mail@maila.net";
$draw_form = true;
if (is_array($_POST)) {

   $draw_form = false;

   if (!$_POST['address'] || !$_POST['first'] || !$_POST['last'] || !$_POST['position'])
      {
        $draw_form = true;
        echo "Please, fill in all field.\n";
      }
   else {
       $subject="Zakaz";
       $body=" $first <br> $last <br> $address <br> $position <br> $addition";
       mail($mailto, $subject, $body);

       echo "Thank you, information entered.\n";
       echo $result;
       }

if($draw_form)
  {
?>

<form method="POST" action="<?php echo $PHP_SELF; ?>">
First<input type="checkbox" name="first" value="1"><br>
last<input type="checkbox" name="last" value="2"><br>
address<input type="checkbox" name="address" value="3"><br>
position<input type="checkbox" name="position" value="4"><br>
Addition:  <input type="textfiled" name="addition"><br>
<input type="submit" name="submit" value="Enter information">
</form>

<?
}
}
?>


Blast 23-01-2004 08:06 214921

Prisoner
Ginger
Спасибо огромное, но я видно поторопился с вопросом :) вчера ближе к полуночи удалось самому добиться...
вот что вышло у меня:
есть некоторое кол-во чекбоксов:
Код:


<tr>
<td align=right>чекбокс №1: </td>
<td><input type=checkbox name=form[dict1]<?if (isset($GLOBALS["form"]["dict1"])) echo " checked"?>></td>
</tr>
<tr>
<td align=right>чекбокс №2: </td>
<td><input type=checkbox name=form[dict2]<?if (isset($GLOBALS["form"]["dict2"])) echo " checked"?>></td>
</tr>

и т.д.
а вот отправка выбранного состояния того или иного чекбокса:
Код:


 * *$post = "";
 * *if (isset($GLOBALS["form"]["dict1"]))
 * * * *$post .= "чекбокс № 1\n\n";
 * *if (isset($GLOBALS["form"]["dict2"]))
 * * * *$post .= "чекбокс № 2\n\n";

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


Время: 02:57.

Время: 02:57.
© OSzone.net 2001-