【问题标题】:PHP contact form: disable confirm form resubmission popup when page refreshPHP联系表单:页面刷新时禁用确认表单重新提交弹出窗口
【发布时间】:2017-08-30 04:49:37
【问题描述】:

**我正在尝试创建一个简单的 PHP 联系表单。 我使用 header() 重定向到页面本身,它阻止了

确认重新提交表单

弹出窗口。但是,问题是我需要在用户提交表单时显示 $result 。重定向也停止将 $result 传递给 HTML DOM。我该如何解决这个问题?**

  if($name != "" & $email != ""){

    $result = '<p>Your message has been sent!</p>';
    $body = "From: $name\n E-mail: $emial\n Message:\n $message";
    mail($to, $ownSubject, $message, $body);
    header('Location: '.$_SERVER['PHP_SELF'].$result);
  }

【问题讨论】:

  • 只需创建另一个页面,这样提交时就不会发生 POSTback

标签: php forms


【解决方案1】:

试试这个:

//Check to see that you received request POST | GET
if( !empty($_REQUEST ))
{
    // if($name != "" & $email != ""){ // This is wrong
    //Use not empty as it check for "" | null | false   
    if( !empty( $name ) && !empty( $email ) )
    {
        $result = '<p>Your message has been sent!</p>';
        $body = "From: $name\n E-mail: $emial\n Message:\n $message";
        mail($to, $ownSubject, $message, $body);
        header('Location: '.$_SERVER['PHP_SELF']);
    }   

    var_dump( $result );
}

快乐编码

【讨论】:

    【解决方案2】:

    您可以在重定向网址中传递您的 $result 变量。

    if($name != "" & $email != ""){
        $result = '<p>Your message has been sent!</p>';
        $body = "From: $name\n E-mail: $emial\n Message:\n $message";
        mail($to, $ownSubject, $message, $body);
        header('Location: '.$_SERVER['PHP_SELF'].'?result='.$result);
    }
    
    //this will work after redirecting using your header redirect
    if(isset($_GET['result']) && !empty($_GET['result'])) {
        echo $_GET['result'];
    }
    

    【讨论】:

      【解决方案3】:

      对于重定向,请尝试以下任何脚本。

      header('Location: '.$_SERVER['PHP_SELF'].$result);
      exit();
      

      或

      echo '<script>location.href= "'.$_SERVER['PHP_SELF'].'"</script>';
      exit();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-16
        • 2016-01-15
        • 2019-02-23
        • 2016-05-14
        • 1970-01-01
        • 2019-03-14
        • 1970-01-01
        相关资源
        最近更新 更多