За последние 24 часа нас посетили 56659 программистов и 1781 робот. Сейчас ищут 913 программистов ...

Повторная отправка при перезагрузке страницы

Тема в разделе "PHP для новичков", создана пользователем pavel8897, 22 сен 2017.

  1. pavel8897

    pavel8897 Новичок

    С нами с:
    13 сен 2017
    Сообщения:
    37
    Симпатии:
    0
    Уважаемые! Подскажите, вот имеется скрипт с отправкой сообщения на почту. Но при обновление страницы сообщение отправляется повторно. Как от этого избавиться?

    Код (Text):
    1. <form action="send.php" method="POST">
    2.         <input name="numcas">
    3.         <input type="submit"  name="submit" value="Отправить на почту">
    4. </form>
    5. <?
    6.    if(isset($_POST['submit'])){
    7.         $message = $_POST['numcas'];
    8.         $to = "pavel8897@bk.ru";
    9.         $from = "admin@center.org";
    10.         $headers  = "Content-type: text/plain; charset=utf-8 \r\n";
    11.         $headers .= "From: $from \r\n";
    12.         $pagetitle = "New msg.";
    13.     mail($to, $pagetitle, $message,$headers);
    14.     }
    15. ?>
     
  2. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    после отправки почты редиректить скрипт куда надо.. или хотя бы на туже самую страницу и сообщение выводить - "Почта отправлена..."
     
  3. pavel8897

    pavel8897 Новичок

    С нами с:
    13 сен 2017
    Сообщения:
    37
    Симпатии:
    0
    Ну у меня стоит action c отправкой на эту же страницу. Или это не то? Подскажите как можно редирект прописать? Просто не силен пока в php. Буду благодарен!
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @pavel8897
    PHP:
    1. <form action="send.php" method="POST">
    2.         <input name="numcas">
    3.         <input type="submit"  name="submit" value="Отправить на почту">
    4. </form>
    5. <?
    6. if ( isset($_POST['submit'] ) )
    7. {
    8.      $message = $_POST['numcas'];
    9.      $to = "pavel8897@bk.ru";
    10.      $from = "admin@center.org";
    11.      $headers  = "Content-type: text/plain; charset=utf-8 \r\n";
    12.      $headers .= "From: $from \r\n";
    13.      $pagetitle = "New msg.";
    14.      mail($to, $pagetitle, $message,$headers);
    15.      header('location: /send.php');
    16.      exit();
    17. }
     
    pavel8897 нравится это.
  5. pavel8897

    pavel8897 Новичок

    С нами с:
    13 сен 2017
    Сообщения:
    37
    Симпатии:
    0
    Спасибо большое, все работает!
     
  6. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Кнопка палец верх, заменяет слово спасибо :D
    Не за что, хоть кому то помог, еще)
     
    #6 _ne_scaju_, 22 сен 2017
    Последнее редактирование: 22 сен 2017
    pavel8897 нравится это.