За последние 24 часа нас посетили 23150 программистов и 1672 робота. Сейчас ищут 1680 программистов ...

прикрепить файл к форме обратной связи и отправить по почте

Тема в разделе "PHP для новичков", создана пользователем sf2015, 24 янв 2018.

  1. sf2015

    sf2015 Новичок

    С нами с:
    31 июл 2015
    Сообщения:
    6
    Симпатии:
    0
    Добрый день в файле feedback.inc.php форма обратной связи. Добавил кнопку прикрепить файл.
    Спецы помогите отредактировать файл smtp-func.php и mailer.php для добавления файла к письму

    файлы на яндекс диске https://yadi.sk/d/b9IkRyN23Rk8xU
     
  2. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @sf2015 типа сделать за тебя или наставить на путь истинный?
     
  3. sf2015

    sf2015 Новичок

    С нами с:
    31 июл 2015
    Сообщения:
    6
    Симпатии:
    0
    Нет, не нужно делать.

    HTML:
    1.         <div class="form-group">
    2.           <label class="sr-only" for="filess">filess</label>
    3.           <input type="file" name="filess" id="filess"  class="form-control" placeholder="Прикрепить файл:" >
    4.         </div>
    я сейчас уперся в такой момент- отправка файла на сервер
    это не выполняется
    PHP:
    1.   if (!empty($_FILES['filess']['tmp_name']))
    2. {
    3. ....
    4. }


    PHP:
    1. <?php
    2.  
    3. $mail_to = 'sdf@xxxx.ru';
    4. $type = 'html';
    5. $charset = 'UTF-8';//'windows-1251';
    6. $text1='';
    7.  
    8. include('smtp-func.php');
    9.  
    10. if ( !empty($_REQUEST['replyto']) and !empty($_REQUEST['replyto_i']) and !empty($_REQUEST['mail_from']) and !empty($_REQUEST['replyto_tema']) and !empty($_REQUEST['message']) and isset($_REQUEST['PERSONAL']) )
    11. {
    12.    $text1 = $_REQUEST['message'];
    13.  
    14.    $subject =  'xxx.ru';
    15.  
    16.  
    17.  
    18.    $replyto_f = $_REQUEST['replyto'];
    19.    $replyto_i = $_REQUEST['replyto_i'];
    20.    $replyto_o = $_REQUEST['replyto_o'];
    21.    $replyto_adr = $_REQUEST['replyto_adr'];
    22.    $mail_from = $_REQUEST['mail_from'];
    23.    $replyto_tema = $_REQUEST['replyto_tema'];
    24.    $filess = $_REQUEST['filess'];
    25.  
    26. $message = "Письмо с сайта xxxx.RU через форму обратной связи.<br><br>";
    27. $message = $message."Фамилия: $replyto_f <br>";
    28. $message = $message."Имя: $replyto_i <br>";
    29. $message = $message."Отчество: $replyto_o <br>";
    30. $message = $message."Адрес: $replyto_adr <br>";
    31. $message = $message."Тема вопроса: $replyto_tema <br>";
    32. $message = $message."Сообщение: $text1 <br>";
    33.  
    34. $headers = "To: \"Administrator\" <$mail_to>\r\n".
    35.            "From: <$mail_from>\r\n".
    36.            "Reply-To: $replyto\r\n".
    37.            "Content-Type: text/$type; charset=\"$charset\"\r\n";
    38.  
    39. $picture = "";
    40. // Если поле выбора вложения не пустое - закачиваем его на сервер
    41. //////////////  if (!empty($_REQUEST['filess']))  так условие выполняется
    42.   if (!empty($_FILES['filess']['tmp_name']))
    43.   {
    44.     // Закачиваем файл
    45.  
    46.  
    47.     $path = $_FILES['filess']['name'];
    48.     if (copy($_FILES['filess']['tmp_name'], $path)) $picture = $path;
    49.  
    50.   }
    51.  
    52.  
    53.  
    54.   if(empty($picture))
    55.    {
    56.  
    57.      $sended = smtpmail($mail_to, $subject, $message, $headers);
    58.    }
    59.   else
    60.    {
    61.     $sended = smtpmail_pic($mail_to, $subject, $message, $headers, $picture);
    62.    }
    63.  
    64.  
    65.  
    66. //$sended = smtpmail($mail_to, $subject, $message, $headers);
    67.  
    68.  
    69.  
    70.       echo "Ваше сообщение успешно отправлено!<Br> Вы получите ответ в ближайшее время<Br> $back";
    71.       exit;
    72.  
    73. }
    74. else
    75. {
    76. echo "Для отправки сообщения заполните обязательные поля поля! $back";
    77.  
    78. }
    79.  
    80. ?>
     
    #3 sf2015, 25 янв 2018
    Последнее редактирование модератором: 25 янв 2018
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @sf2015, во-первых, если предполагается передавать файл, то у формы должен быть указан enctype="multipart/form-data",
    во-вторых, для чего внутри формы в файле feedback используете тег <form class="form"... ?
    Ещё в исходниках нет функции smtpmail_pic.
    Ну и во избежание лишних сложностей с вложением файлов и кодировками давно уже рекомендуется использовать PHPMailer.