如何避免在OnePager站点上的页面刷新上重新提交数据+避免浏览器弹出

时间:2019-01-15 19:27:06

标签: php forms

我已经搜索了很多,但是这些解决方案都无法帮助我。我要避免在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 :(得分:0)

成功提交后,将用户重定向到成功页面。如果没有,只需创建一个简单的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');
    }