Как избежать повторной отправки при обновлении в PHP [duplicate]

Вы можете использовать libmail: http://lwest.free.fr/doc/php/lib/index.php3?page=mail&lang=en

include "libmail.php";
$m = new Mail(); // create the mail
$m->From( $_POST['form'] );
$m->To( $_POST['to'] );
$m->Subject( $_POST['subject'] );
$m->Body( $_POST['body'] );
$m->Cc( $_POST['cc']);
$m->Priority(4);
//  attach a file of type image/gif to be displayed in the message if possible
$m->Attach( "/home/leo/toto.gif", "image/gif", "inline" );
$m->Send(); // send the mail
echo "Mail was sent:"
echo $m->Get(); // show the mail source

0
задан Tyharo 26 February 2016 в 02:08
поделиться

1 ответ

Если страница обновляется или кто-то снова ее удаляет с помощью кнопки «назад», данные будут переданы на сервер и, таким образом, будут вставлены дважды. Чтобы избежать этого, вам необходимо перенаправить пользователя на другую страницу или на ту же страницу, используя шаблон POST / REDIRECT / GET. Отправка HTTP-ответа 303 заставит браузер заменить эту страницу в своей истории и избежать повторной отправки опубликованных данных.

if (mysqli_query($connection, $register)) {
    header('Location: index.php', true, 303);
    exit;
}
4
ответ дан John Conde 21 August 2018 в 23:28
поделиться
  • 1
    Отлично! Кажется, мне нужен выход; добавлен в цикл. – Tyharo 26 February 2016 в 02:35
  • 2
    @GragasIncoming просто измените index.php на URL этой страницы – John Conde 24 March 2018 в 15:23
Другие вопросы по тегам:

Похожие вопросы: