За последние 24 часа нас посетили 22668 программистов и 1010 роботов. Сейчас ищут 728 программистов ...

Как сделать перенаправление после отправки письма?

Тема в разделе "Сделайте за меня", создана пользователем kuliba, 16 май 2018.

  1. kuliba

    kuliba Гость

    С нами с:
    16 май 2018
    Сообщения:
    1
    Симпатии:
    0
    Всем добрый день! Есть форма связи сгенерированная на одном из генераторов которых в сети множество. Скажите пожалуйста как сделать так чтобы после того как пользователь нажмет на кнопку "отправить" ему не выскакивало табло с надписью "сообщение отправлено", а перебрасывало на другой сайт, который я укажу? Вот код который идет после полей и отвечает за выскакивающее табло "сообщение отправлено":

    PHP:
    1. <?php if (isset($_POST["dfotpr"]) && isset($_POST["antirobotpro"]) && $_POST["antirobotpro"] == "gdfg56FG423er") {
    2. $to = "moymail@ya.ru";
    3. $subject = "Письмо с вашего сайта";
    4. $charset = "utf-8";
    5. $head = "Mime-Version: 1.0\r\n";
    6. $head .= "Content-Type:multipart/mixed;";
    7. $head .= "boundary=\"----------".$un."\"\n\n";
    8.  
    9. $body = "------------".$un."\nContent-Type:text/html; charset=$charset\r\n";
    10.  
    11. $msg =
    12. "*email: ".$_POST["elemnamea0"]."\n<br />".
    13. "*имя: ".$_POST["elemnamea1"]."\n<br />".
    14. "*сообщение: ".$_POST["elemnamea2"]."\n<br />".
    15. "";
    16.  
    17. $body .= "Content-Transfer-Encoding: 8bit\n\n".$msg."\n\n";
    18.  
    19. mail($to, $subject, $body, $head);
    20. print "<script>alert('Ваше сообщение отправлено!'); window.location='".$_SERVER['REQUEST_URI']."';</script>";
    21. }
    22. ?></td>
    23.     </tr>
    24. </table>
    Я пытался ставить в window.location разные значения, но увы не срабатывает. Подскажите пожалуйста как правильно сделать? Что бы и сообщение отправлялось мне на ящик и пользователя после отправки перебрасывало на нужный сайт. Если этого кода недостаточно я могу дать полный код формы. Благодарю за ответы!
     
    #1 kuliba, 16 май 2018
    Последнее редактирование модератором: 16 май 2018
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    header Location вместо print и иже с ним.
    --- Добавлено ---
    Разделитель заголовков и т.п. – "\r\n". "\n" можете оставить только для сообщения (если конечно не работает автозамена в "\r\n"), хотя для html-письма это лишнее, тем более перед br.
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Subject на кириллице нужно кодировать и при отсутствии вложений и альт. вариантов сообщения можно обойтись без multipart:
    Как сделать отправку письма?

    В html-письме лучше кодировать возможные html-сущности во вход. параметрах, например:
    htmlspecialchars($_POST['elemnamea0'],ENT_COMPAT|ENT_HTML401,$charset);
    --- Добавлено ---
    В конце multipart-письма нужно указать спец. строку-разделитель:
    Как сделать отправку письма с вложением?
     
  4. yanuzay

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

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    так может условие не срабатывает?
    if(isset($_POST["dfotpr"])&&isset($_POST["antirobotpro"])&&$_POST["antirobotpro"]=="gdfg56FG423er")

    и данные из формы не обрабатываются и javascript на страницу не выводиться?
    письмо то приходит?