Как избежать повторной отправки данных при обновлении страницы на сайте OnePager + Избегать всплывающих окон браузера - PullRequest
0 голосов
/ 15 января 2019

Я уже много искал, но ни одно из этих решений не может мне помочь. Я хочу избежать повторной отправки данных на страницу обновления на сайте Onepager. У меня нет другой страницы для перенаправления. + Избегайте всплывающих окон браузера

Я начинающий, так что извините за "ужасный код".

<?php
$errors = array();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $issend = true;
    if (isset($_POST['name'])) {
        $name = $_POST['name'];
    }

    if (isset($_POST['phonenumber'])) {
        $phonenumber = $_POST['phonenumber'];
    }

    if ($phonenumber === null || mb_strlen($phonenumber) === 0) {
        $errors[] = 'phonenumber.empty';
    }

    if ($name === null || mb_strlen($name) === 0) {
        $errors[] = 'name.empty';
    }


    if (empty($errors)) {
        mail('email@email.com', 'Contact Form', 'Name: '.$_POST["name"] . '\n Telefonnummer:' .$_POST["phonenumber"]);
        $_POST['name'] = '' ;
        $_POST['phonenumber'] = '' ;
        $_POST = null;
    }

}

1 Ответ

0 голосов
/ 15 января 2019

при успешной отправке, перенаправьте пользователя на страницу успеха. Если у вас его нет, просто создайте простую страницу HTML / PHP

Success.php

<?php
    echo "Successful submission";
?>

Ваша страница с формой добавить это в нижней части вашего чека

if (empty($errors)) {
        mail('email@email.com', 'Contact Form', 'Name: '.$_POST["name"] . '\n 
        Telefonnummer:' .$_POST["phonenumber"]);
        $_POST['name'] = '' ;
        $_POST['phonenumber'] = '' ;
        $_POST = null;

        header('Location: http://www.domainname.com/success.php');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...