Прикрутить форму к HTML

Тема в разделе "PHP", создана пользователем VeryGood, 6 июл 2014.

  1. VeryGood

    VeryGood

    Регистрация:
    11 дек 2012
    Сообщения:
    216
    Симпатии:
    54
    Здравствуйте!
    Я столкнулся с проблемой, которую частично решил, а частично не могу. Заранее сообщу, что я не силен в php, потому прошу у вас совета и помощи.
    Ситуация такова:

    Имеется html страница, где присутствует форма заказа. В данной форме присутствую следующие поля:
    1. Имя и фамилия (поле)
    2. Емайл (поле)
    3. Название компании (поле)
    4. Телефон (поле)
    5. Когда вы хотите начать разработку проекта? (выпадающий список)
    6. Тип работы (выпадающий список)
    7. Описание проекта
    9. Прикрепить файлы

    Согласно инструкции из инета, я создал обрабатывающий файл php под название post.php и подключил к данной форме.


    1. Поля 1-7 я прикрутил и инофрмация отправляется на емайл, но как прикрутить чтобы пользователь прикреплял файлы и они отправлялись на емайл?
    2. Письмо от пользователей приходит с крякозябрами и непонятно, где нужно менять кодировку и как? Кодировка всех файлов - UTF-8 без BOM


    3. После нажатия на кнопку ОТРПАВИТЬ, у пользователя появляется "Сообщение отправлено! Подождите, сейчас вы будете перенаправлены на главную страницу..." и идет перенаправление на страницу /final.html.. Как можно сделать чтобы редирект был сразу же после нажатия на кнопку ОТПРАВИТЬ?

    Заранее огромное спасибо за оказанную помощь.
     
    Последнее редактирование: 6 июл 2014
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.350
    Симпатии:
    1.378
    примеры реализации аттача есть тут: http://stackoverflow.com/questions/12301358/send-attachments-with-php-mail
    я бы рекомендовал использовать PHPMailer
    если не использовать PHPMailer, то нужно задать хереды, т.е. так:
    PHP:
    $headers 'Content-type: text/html; charset=utf-8' "\r\n";
    mail("$adminemail""$date$time Сообщение от $name""$msg"$headers);
    Удалить:
    PHP:
    print "<script language='Javascript'><!--
    function reload() {location = \"
    $backurl\"}; setTimeout('reload()', 0);
    //--></script>
    $msg
    <p>Сообщение отправлено! Подождите, сейчас вы будете перенаправлены на главную страницу...</p>"
    ;
    Добавить вместо (подставив свои данные):
    PHP:
    header("Location: http://www.example.com" $backurl);
    P.s. php код на самом деле, очень костыльный. Можно сделать правильней) Но я отталкивался от предоставленных данных.
     
    Последнее редактирование: 6 июл 2014
  3. VeryGood

    VeryGood

    Регистрация:
    11 дек 2012
    Сообщения:
    216
    Симпатии:
    54
    Спасибо огромное!
    Видимо и впрямь костыльный, брал из инета то что нашел.

    А Вы не могли бы подробнее описать про PHPMailer?
    Я одно понял. Необходимо скачать и поместить файл class.phpmailer.php на хостинг. А дальше что мне нужно делать? Необходимо его как-то править? В самой форме нужно вносить какие-то изменения?
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.350
    Симпатии:
    1.378
    у мэлера есть примеры использования https://github.com/PHPMailer/PHPMailer/tree/master/examples
    Нет, эта библиотека для отправки email'ов.

    нужно будет заменить код отправки писем с вашего, на тот что используется классом PHPMailer
     
    Globe-Star и VeryGood нравится это.