За последние 24 часа нас посетили 17535 программистов и 1308 роботов. Сейчас ищут 952 программиста ...

Не передается переменная при отправке почты.

Тема в разделе "Работа с почтой", создана пользователем avt174, 5 июл 2013.

  1. avt174

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

    С нами с:
    5 июл 2013
    Сообщения:
    7
    Симпатии:
    0
    Добрый день. В общем проблема такая:
    есть переменная $itemname
    Код (PHP):
    1. <?
    2. echo $itemname;
    3. function show_form() 
    4. { 
    5. ?>
    6. <form action="" method=post> 
    7. <INPUT name="tel" type="text" value="+7xxxxxxxxxx" style="color: #737373;height: 23px;font-size: 23px;border: 0px;width: 160px;">
    8. <div style="height: 300px;left: 220px;bottom: 30px;position: relative;">
    9. <input type="submit" value="submit" name="submit" style="border: 1px solid #7171B3;width: 102px;height: 33px;box-shadow: inset 1px 0px 2px #ffffff;border-radius: 3px;cursor: pointer;background-color: #006BC9;color: #FFF;font-size: 14px;font-family: arial;">
    10.       </div>
    11. </form>
    12. </div>
    13.      </div>
    14.     </div>
    15.   </div>
    16. </div>
    17. <? 
    18. } 
    19.  
    20. function complete_mail() { 
    21.         $_POST['tel'] =  substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
    22.         $mess = ''.$_POST['tel'].''; 
    23.         $to = 'mail@mail.com';
    24.         mail($to, $itemname, $mess, "Content-Type: text/html; charset=UTF-8"); 
    25. } 
    26. if (!empty($_POST['submit'])) complete_mail(); 
    27. else show_form(); 
    28. ?>
    Письма приходят без темы, хотя echo $itemname выводит корректную информацию. В чем может быть проблема?
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    функция complete_mail не знает о существовании переменной $itemname. Почитай про область видимости переменных.
    Передай эту переменную в функцию.
     
  3. avt174

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

    С нами с:
    5 июл 2013
    Сообщения:
    7
    Симпатии:
    0
    Проблема решена следующим способом:
    Код (Text):
    1.  
    2. global $itemname;
    3. $itemname= $arResult['ITEM']['NAME'];
    4. function show_form()
    5. {
    6. global $itemname;
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768