Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何防止刷新后发送表单?_Php_Html_Forms_Contact - Fatal编程技术网

Php 如何防止刷新后发送表单?

Php 如何防止刷新后发送表单?,php,html,forms,contact,Php,Html,Forms,Contact,我有一个问题-在我填写表格并单击提交后,它会发送我填写的信息,但当我刷新页面时,信息会再次发送。我怎样才能预防它?我的php代码如下所示: <?php function Form() { if (isset($_POST['submit'])) { $to = "Test@gmail.com"; $name = $_POST['name']; $email = $_POST['email']; $text =

我有一个问题-在我填写表格并单击提交后,它会发送我填写的信息,但当我刷新页面时,信息会再次发送。我怎样才能预防它?我的php代码如下所示:

<?php
function Form()
{
    if (isset($_POST['submit']))
    {
        $to = "Test@gmail.com";
        $name = $_POST['name'];
        $email = $_POST['email'];
        $text = $_POST['text'];
        $subject = $_POST['subject'];

        if (isset($_POST['name']) && !empty($_POST['name']) &&
            isset($_POST['email']) && !empty($_POST['email']) &&
            isset($_POST['text']) && !empty($_POST['text']) &&
            isset($_POST['subject']) && !empty($_POST['subject']) &&
            mail($to, $name, $email, $text, $subject))   
        {
            echo "<div class='success'>Message has been sent!</div>";
        }
        else
        {
        }
    }
}
?>

正如CBroe所说,您需要添加重定向到其他页面

if ( isset($_POST['name']) &&    !empty($_POST['name']) &&
 isset($_POST['email']) &&   !empty($_POST['email']) &&
 isset($_POST['text']) &&    !empty($_POST['text']) &&
 isset($_POST['subject']) && !empty($_POST['subject']) &&
 mail($to, $name, $email, $text, $subject))   
{


header('Location:thankyou.php');
}
关于thankyou.php

<?php
   echo "Message has been sent!";  //or whatever.
 ?>

如果((isset($\u POST['submit'])和($\u POST['name'])为空($\u POST['name']))

一个简单的检查,看看用户是否在其中一个字段中输入了内容