За последние 24 часа нас посетили 17560 программистов и 1314 роботов. Сейчас ищут 1439 программистов ...

При отправке формы на почту не цепляются переменные

Тема в разделе "Работа с почтой", создана пользователем Netot, 7 апр 2010.

  1. Netot

    Netot Активный пользователь

    С нами с:
    7 апр 2010
    Сообщения:
    4
    Симпатии:
    0
    Всем привет!

    Нужна помощь!

    При отправке формы с сайта на почту не цепляются переменные из формы.

    код формы:

    HTML:
    1.  
    2. <form class="my_form" action="/demand/demand.php" method="POST" name="demand">
    3.  
    4. <p>Наименование организации:<br />
    5. <input type="text" name="organization"></p>
    6.  
    7. <p>Адрес:<br />
    8. <input type="text" name="address"></p>
    9.  
    10. <p>Специализация:<br />
    11. <input type="text" name="specialization"></p>
    12.  
    13. .......
    14.  
    15.  
    16. <input class="button" type="submit" name="button" value="Отправить заявку">
    17.  
    18.  
    19. </form>
    Код обработчика:

    PHP:
    1.  
    2. <?php
    3.   $to = "my_mail@yandex.ru";
    4.   $subject = "Была заполнена заявка на сайте";
    5.   $message = "Здравствуйте!\n На сайте была заполнена форма on-line заявки.\n Наименование орагнизации: $organization ; \n  Адрес: $address ; \n Специализация: $specialization ; ..... (и т.д.)";
    6.   $headers = "Subject: $subject\r\n";
    7.   $headers .= "From: [email=php-sender@checks.masterhost.ru]php-sender@checks.masterhost.ru[/email]\r\n";
    8.   $headers .= "Content-Type: text/plain;
    9. charset=koi8-r\r\n"."Content-Transfer-Encoding: 8bit\r\n";
    10.   mail($to, "=?koi8-r?B?".base64_encode($subject)."?=", $message, $headers);
    11. ?>
    12.  
    Письмо приходит следующего вида:

    Здравствуйте!
    На сайте www.trudconsult.ru, была заполнена форма on-line заявки.
    Наименование орагнизации: ;
    Адрес: ;
    Специализация: ;

    ......

    То есть все отправляется, но значения из формы не цепляются. Пожалуйста подскажите как решить данную проблему.
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  3. Netot

    Netot Активный пользователь

    С нами с:
    7 апр 2010
    Сообщения:
    4
    Симпатии:
    0
    Luge

    Правильно ли я понял, то что написано по ссылке, которую Вы дали...

    Что в обработчике, необходимо писать не "Организация: $organization", а "Организация: $_POST['organization']" и тогда будет мне счастье?
     
  4. Netot

    Netot Активный пользователь

    С нами с:
    7 апр 2010
    Сообщения:
    4
    Симпатии:
    0
    Выяснил, что некоторые хостинги не поддерживают передачу переменных напрямую, а передают только массив.

    Попробовал в обработчике перечислить переменные типа:

    PHP:
    1.  
    2. <?php
    3.  
    4. $organization = $_POST['organization'];
    5. $address = $_POST['address'];
    6. $specialization = $_POST['specialization'];
    7. $specialization = $_POST['specialization'];
    8.  
    9.   $to = "netot228@yandex.ru";
    10.   $subject = "Была заполнена заявка на сайте";
    11.   $message = "На сайте [url=http://www.trudconsult.ru]www.trudconsult.ru[/url], была заполнена форма on-line заявки.\n Наименование орагнизации: $organization ; \n  Адрес: $address; \n Специализация: $specialization; ..... ";
    12.   $headers = "Subject: $subject\r\n";
    13.   $headers .= "From: [email=php-sender@checks.masterhost.ru]php-sender@checks.masterhost.ru[/email]\r\n";
    14.   $headers .= "Content-Type: text/plain;
    15. charset=koi8-r\r\n"."Content-Transfer-Encoding: 8bit\r\n";
    16.   mail($to, "=?koi8-r?B?".base64_encode($subject)."?=", $message, $headers);
    17. ?>
    18.  
    Результат тот же, на почту письмо приходит без переменных...
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    значит, не судьба.
    Можно попробовать посмотреть print_r($_POST), конечно, или просто попытаться текст для начала на экран вывести. Ну, или ещё много чего, но, боюсь, уже ничего не получится.
     
  6. Netot

    Netot Активный пользователь

    С нами с:
    7 апр 2010
    Сообщения:
    4
    Симпатии:
    0
    упорство и труд все .... )

    все удалось.... и еще раз спасибо Luge за ссылку... дало зацепку, что надо вытянуть переменные из массива... а дальше все случилось...

    Bom! )
     
  7. Solistiks

    Solistiks Guest

    Ïðè îòïðàâêå ôîðìû íà ïî÷òó íå öåïëÿþòñÿ ïåðåìåííûå

    íåäàâíî íà÷àë þçàòü ñåðâèñ â âðó÷íîì ðåæèìå. îáðàùàþñü ïîëüçîâàòåëÿì ñåðâèñà: êòî-íèáóäü âîîáùå åãî þçàåò? ÿ âîò íå ïîíèìàþ, ãðîì ìíå ñêàçàë, ÷òî íèêàêèõ ïðîáëåì íå äîëæíî áûòü, è ïîýòîìó íå áåð¸òñÿ èñïðàâëÿòü áàãè. âîîáùå çàêàçû 2 - ýòî ñàìûé ãëþ÷íóòûé ðåæèì èñïîëüçîâàíèÿ. òàì íå òî ÷òî áû îäèí áàã, ìíîãèå ôóíêöèè íå ðàáîòàþò. õîðîøî áû ïîäïðàâèòü, èíà÷å çà÷åì îí íóæåí. ïðîáëåìà ñîñòîèò â çàêà÷êå ôàéëîâ ñ ðàïèäû. êîãäà ÿ ñòàâëþ íà çàêà÷êó îäèí ôàéë, ñåðâèñ îòñ÷èòûâàåò îêîëî ìèíóòû, ïîñëå òîêà íà÷èíàåò çàêà÷èâàòü. íî ïîñëå çàãðóçêè âòîðîãî ôàéëà ñåðâèñ íà÷èíàåò ìàòþãàòüñÿ - ïèøåò, ÷òî íóæíî íóæíî æäàòü 15 ìèíóò, ïîòîìó ÷òî ñ âàøåãî Ip èä¸ò ñêà÷èâàíèå, õîòÿ ôàéë óæå äàâíî çàêà÷àëñÿ; èíîãäà ïèøåò, ÷òî ïðè çàãðóçêå ýòîãî ôàéëà âûøëà îøèáêà è çàêà÷èâàåò ëèøü íè÷òîæíî ìàëûå êèëîáàéòû. êàðî÷å, â èòîãå ìíå ïðèõîäèòñÿ çàíîãî ñòàâèòü ññûëêó â ïîëå çàãðóçêè è ïîòîì æäàòü 15 ìèíóò, ÷òîáû çàêà÷àòü äðóãîé ôàéë. ÿ íå ãîâîðþ óæå ïðî ìóëüòèñêà÷êó ïðè ìóëüòèñêà÷êå íè÷åãî íå çàêà÷èâàåòñÿ - íè âðó÷íóþ, íè â àâòîìàòå. à áûëî áû î÷åíü óäîáíî, ÷òîá ôàéëû ïîî÷åðåäè ñàìè çàêà÷èâàëèñü.
    ïðè òàêèõ îáñòîÿòåëüñòâàõ ïðèõîäèòñÿ ïîëüçîâàòüñÿ àâòîìàòîì, íî òàì íå âñ¸ òàê, êàê õîòåëîñü áû íàì. äåëî â òîì, ÷òî çàäåðæêó ïðè îòïðàâêå êàæäîé ïîñëåäóþùåé ÷àñòè íóæíî óêàçûâàòü òîëüêî â ìèíóòàõ. îáðàùàþñü ãðîìó. ãðîì, äîáàâü óæå â àâòîìàòå çàäåðæêó îòïðàâêè â ñåêóíäàõ. åñëè òðóäíî ñäåëàòü, òî ìîæíî â äðîáíûõ ìèíóòàõ. ó ìåíÿ ôàéë íà ïî÷òó çàêà÷èâàåòñÿ ðîâíî â ìèíóòó 30 ñåêóíä, à ó òåáÿ íà ñåðâèñå ÿ ìîãó ïîñòàâèòü òîëüêî 2 ìèíóòû. ÿ ìîã áû ñýêîíîìèòü î÷åíü ìíîãî âðåìåíè è ñêàçàòü åù¸ áîëüøå ôàéëîâ ïî ïî÷òå, åñëè á îòïðàâëÿë ïî 1,5 ìèíóòû. ñàì ïîäóìàé, ñêîëüêî âðåìåíè îñòàíåòñÿ ó ìåíÿ ïðè ñêà÷êå, íó ñêàæåì, 500 ÷àñòåé â äåíü ïðè 2 ìèíóòàõ è ïðè 1,5 ìèíóòàõ? ïðè 2-õ ìèíóòàõ ÿ òåðÿ. âðåìåíè 50030ñåê = 15000 ñåêóíä èëè = 250 ìèíóò, à ýòî áîëüøå 4-õ ÷àñîâ. ðåàëüíî çàïàðèëî ìåíÿ ýòî çàäåðæêà â ìèíóòàõ. íå òðóäíî âåäü ýòî âñ¸ ïîäïðàâèòü
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    от это трава, от эт хорошо!
     
  9. CraZyRaBBiT

    CraZyRaBBiT Guest

    PHP:
    1.  
    2.  
    3. $to = 'бла бла бла@mail.ru';
    4. $subject = 'бла бла бла';
    5. $headers = "From: бла бла бла@бла бла бла.kz" ."\r\n";    
    6. $headers .= "Content-Type: text/html; charset=utf-8\r\n";
    7. $message = " бла бла бла";
    8. mail($to, $subject, $message, $headers);
    9.  
    10.  
    11.  
     
  10. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    HTML:
    1. <form method="post" action="file.php">
    2. First field: <input type="text" name="first" value="" />
    3. <br />
    4. Second field: <input type="text" name="second" value="" />
    5. <br />
    6. <input type="submit" name="submit_form" value="Submit" />
    7. </form>

    PHP:
    1. <?php
    2.  
    3. $submit = isset($_POST['submit_form'])?true:false;
    4.  
    5. if($submit)
    6. {
    7.         $firstValue = $_POST['first'];
    8.         $secondValue = $_POST['second'];
    9. }
    10.  
    А теперь читаем о функции mail
    http://php.net/manual/en/function.mail.html
     
  11. Tanya123

    Tanya123 Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    4
    Симпатии:
    0
    в строчках типа
    поправить синтаксис:
    $message = "На сайте www.trudconsult.ru, была заполнена форма on-line заявки.\n Наименование орагнизации:". $organization." ; \n Адрес: ".$address."; \n Специализация: ".$specialization."; ..... ";
    $headers = "Subject: ".$subject."\r\n";

    т.е. переменные и текст соединять через ". (кавычки и точки)
    "ляляяля".$peremennaya."еще ляляляля"
     
  12. Tanya123

    Tanya123 Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    4
    Симпатии:
    0
    Закон Мёрфи

    Если мальчики-программисты начинают рассуждать непонятными словами, значит, задача сто пудов решается одним- двумя символами (кавычка, точка, запятая и т.д. ).
     
  13. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Закон Мерфи2
    Послушай бабу и сделай наоборот.

    Мало того что совет блин задним местом придуман, так еще и через пол года.
     
  14. Tanya123

    Tanya123 Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    4
    Симпатии:
    0
    есть совет изящней - напиши
     
  15. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    - Здравствуйте, у меня дома свет пропал. Что мне делать?
    - Купите дрель.
    - Так света нет, зачем мне дрель?
    - Зато она такая изящная.


    Вот из той же оперы.
     
  16. Tanya123

    Tanya123 Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    4
    Симпатии:
    0