Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: отправка двух мэйл отчетов с одного скрипта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Voventys
Отправлено: 24 Января, 2009 - 05:37:37
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




Люди добрые помогите со скриптом:
Имеем форму в которой юзер вводит имя и мыло,
форма отсылает (POST) данные в этот скрипт, который изначально только отсылал письмо с данными админу, я скопировал, изменил данные и вставил во вторую часть чтобы уходило и юзеру почти тоже самое, но срабатывает на отправку только та часть которая верхняя (первая). Проверил путем перестановки частей.
При этом прога (phpdesigner 6.2.3) при дебаге пишет: "Error in my_thread_global_end(): 1 threads didn't exit" но это вроде баг php и к скрипту не сильно относиться?


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  $antispamail = 'donotreply@mysite.de';
  4.  $admail = 'mymail@gmail.com';
  5.  
  6.  
  7.    function ValidateEmail($email)
  8.    {
  9.       $pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i';
  10.       return preg_match($pattern, $email);
  11.    }
  12.  
  13. // письмо админу
  14. *****************************
  15.  
  16.    if($_SERVER['REQUEST_METHOD'] == 'POST')
  17.    {
  18.       $mailto = $admail;
  19.       $mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto;
  20.       $subject = 'Contact Information';
  21.       $message = 'Values submitted from web site form:';
  22.       $error = '';
  23.       $eol = "\n";
  24.       $max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
  25.       $boundary = md5(uniqid(time()));
  26.  
  27.       $header  = 'From: '.$mailfrom.$eol;
  28.       $header .= 'Reply-To: '.$mailfrom.$eol;
  29.       $header .= 'MIME-Version: 1.0'.$eol;
  30.       $header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol;
  31.       $header .= 'X-Mailer: PHP v'.phpversion().$eol;
  32.       if (!ValidateEmail($mailfrom))
  33.       {
  34.          $error .= "The specified email address is invalid!\n<br>";
  35.       }
  36.  
  37.       if (!empty($error))
  38.       {
  39.          $errorcode = file_get_contents($error_url);
  40.          $replace = "##error##";
  41.          $errorcode = str_replace($replace, $error, $errorcode);
  42.          echo $errorcode;
  43.          exit;
  44.       }
  45.  
  46.       $internalfields = array ("submit", "reset", "send", "captcha_code");
  47.       $message .= $eol;
  48.       foreach ($_POST as $key => $value)
  49.       {
  50.          if (!in_array(strtolower($key), $internalfields))
  51.          {
  52.             if (!is_array($value))
  53.             {
  54.                $message .= ucwords(str_replace("_", " ", $key)) . " : " . $value . $eol;
  55.             }
  56.             else
  57.             {
  58.                $message .= ucwords(str_replace("_", " ", $key)) . " : " . implode(",", $value) . $eol;
  59.             }
  60.          }
  61.       }
  62.       $body  = 'This is a multi-part message in MIME format.'.$eol.$eol;
  63.       $body .= '--'.$boundary.$eol;
  64.       $body .= 'Content-Type: text/plain; charset=iso-8859-1'.$eol;
  65.       $body .= 'Content-Transfer-Encoding: 8bit'.$eol;
  66.       $body .= $eol.stripslashes($message).$eol;
  67.       if (!empty($_FILES))
  68.       {
  69.           foreach ($_FILES as $key => $value)
  70.           {
  71.              if ($_FILES[$key]['error'] == 0 && $_FILES[$key]['size'] <= $max_filesize)
  72.              {
  73.                 $body .= '--'.$boundary.$eol;
  74.                 $body .= 'Content-Type: '.$_FILES[$key]['type'].'; name='.$_FILES[$key]['name'].$eol;
  75.                 $body .= 'Content-Transfer-Encoding: base64'.$eol;
  76.                 $body .= 'Content-Disposition: attachment; filename='.$_FILES[$key]['name'].$eol;
  77.                 $body .= $eol.chunk_split(base64_encode(file_get_contents($_FILES[$key]['tmp_name']))).$eol;
  78.              }
  79.          }
  80.       }
  81.       $body .= '--'.$boundary.'--'.$eol;
  82.       mail($mailto, $subject, $body, $header);
  83.      
  84.       exit;
  85.    }
  86.    
  87.  
  88.  
  89. ////////////////////////
  90.  
  91.  
  92.    //письмо юзеру
  93.    //*****************************************
  94.  
  95. if($_SERVER['REQUEST_METHOD'] == 'POST')
  96.    {
  97.       $mailto = ($_POST['email']);
  98.       $mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto;
  99.       $subject = 'Contact Information';
  100.       $message = 'Values submitted from web site form:';
  101.       $success_url = './succes.htm';
  102.       $error_url = './down.htm';
  103.       $error = '';
  104.       $eol = "\n";
  105.       $max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
  106.       $boundary = md5(uniqid(time()));
  107.  
  108.       $header  = 'From: '.$mailfrom.$eol;
  109.       $header .= 'Reply-To: '.$mailfrom.$eol;
  110.       $header .= 'MIME-Version: 1.0'.$eol;
  111.       $header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol;
  112.       $header .= 'X-Mailer: PHP v'.phpversion().$eol;
  113.       if (!ValidateEmail($mailfrom))
  114.       {
  115.          $error .= "The specified email address is invalid!\n<br>";
  116.       }
  117.  
  118.       if (!empty($error))
  119.       {
  120.          $errorcode = file_get_contents($error_url);
  121.          $replace = "##error##";
  122.          $errorcode = str_replace($replace, $error, $errorcode);
  123.          echo $errorcode;
  124.          exit;
  125.       }
  126.  
  127.       $internalfields = array ("submit", "reset", "send", "captcha_code");
  128.       $message .= $eol;
  129.       foreach ($_POST as $key => $value)
  130.       {
  131.          if (!in_array(strtolower($key), $internalfields))
  132.          {
  133.             if (!is_array($value))
  134.             {
  135.                $message .= ucwords(str_replace("_", " ", $key)) . " : " . $value . $eol;
  136.             }
  137.             else
  138.             {
  139.                $message .= ucwords(str_replace("_", " ", $key)) . " : " . implode(",", $value) . $eol;
  140.             }
  141.          }
  142.       }
  143.       $body  = 'This is a multi-part message in MIME format.'.$eol.$eol;
  144.       $body .= '--'.$boundary.$eol;
  145.       $body .= 'Content-Type: text/plain; charset=iso-8859-1'.$eol;
  146.       $body .= 'Content-Transfer-Encoding: 8bit'.$eol;
  147.       $body .= $eol.stripslashes($message).$eol;
  148.       if (!empty($_FILES))
  149.       {
  150.           foreach ($_FILES as $key => $value)
  151.           {
  152.              if ($_FILES[$key]['error'] == 0 && $_FILES[$key]['size'] <= $max_filesize)
  153.              {
  154.                 $body .= '--'.$boundary.$eol;
  155.                 $body .= 'Content-Type: '.$_FILES[$key]['type'].'; name='.$_FILES[$key]['name'].$eol;
  156.                 $body .= 'Content-Transfer-Encoding: base64'.$eol;
  157.                 $body .= 'Content-Disposition: attachment; filename='.$_FILES[$key]['name'].$eol;
  158.                 $body .= $eol.chunk_split(base64_encode(file_get_contents($_FILES[$key]['tmp_name']))).$eol;
  159.              }
  160.          }
  161.       }
  162.       $body .= '--'.$boundary.'--'.$eol;
  163.       mail($mailto, $subject, $body, $header);
  164.       exitheader('Location: '.$success_url);;
  165.    }
  166.    
  167. ?>
 
 Top
Бублик
Отправлено: 24 Января, 2009 - 06:15:57
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)

[+]


Вы сами останавливаете скрипт здесь
PHP:
скопировать код в буфер обмена
  1. <?PHP      mail($mailto, $subject, $body, $header);
  2.      
  3.       exit;
  4.    }
  5.    
  6.  
  7.  
  8. ////////////////////////
  9.  
  10.  
  11.    //письмо юзеру
  12.    //*****************************************?>

(Отредактировано автором: 24 Января, 2009 - 06:16:26)

 
 Top
vitaliy_mad
Отправлено: 24 Января, 2009 - 13:27:37
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




exit; убрать надо
 
 Top
Бублик
Отправлено: 24 Января, 2009 - 14:29:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)

[+]


Хм.. зачем два раза одно и тоже писать? Тафталокия Улыбка
 
 Top
Voventys
Отправлено: 24 Января, 2009 - 14:41:04
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




О! точно спасибо, я почему то думал что раз exit в скобках, то за рамками их он не действует,

Бублик

мне надо писать не одно и тоже, админу надо прислать отчет с именем и мылом юзера
а юзеру ссылку для скачивания! Улыбка
 
 Top
Бублик
Отправлено: 24 Января, 2009 - 14:44:19
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)

[+]


И Вы не подумали, что условие то выполняется Улыбка

Цитата:
мне надо писать не одно и тоже

Я не Вам, я vitaliy_mad адресовал своё сообщение Улыбка

(Отредактировано автором: 24 Января, 2009 - 14:45:04)

 
 Top
Voventys
Отправлено: 03 Февраля, 2009 - 04:02:55
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




Бублик пишет:
И Вы не подумали, что условие то выполняется

ну да... стаж в пхп в срок меньше чем месяц дает о себе знать... А чё я? Я ничё!

Бублик пишет:
Я не Вам, я vitaliy_mad адресовал своё сообщение

а-а извиняйте тогда! Улыбка Подмигивание
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB