提交Bootstrap联系方式

时间:2019-05-15 16:28:06

标签: php twitter-bootstrap-3

用户可以通过Bootstrap弹出模式与我们联系。当前,它提交所有内容并回显成功消息(仍为弹出模式格式)。我希望而不是回显该消息,而是重定向到一个全新的页面(而不是另一个弹出窗口)。

我尝试使用“ header('Location:contact-thank-you.html'); exit();”,这似乎是显而易见的解决方案。但是,这仅被视为另一个回显-它以弹出模式打印出整个页面(HTML和全部)。

控制台中没有错误消息。

php文件开头上方没有空格(据我了解,这可能会导致问题)。

我能够通过javascript重定向来解决此问题,但是我想了解为什么这不起作用。我没有在页面较早的地方回显任何其他内容(尽管如果有人不提交所需的信息,我确实会出错),那么header()不能正常工作吗?它只是不能与Bootstrap一起使用?

该站点建在Jekyll中,如果与该问题有关。

这是我的php的粗略概述,其中有许多多余的内容已删除,以供您欣赏:):

<?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {

        $name = strip_tags(trim($_POST["name"]));
        $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);

        // Require Email
        if (empty($email)) {
            http_response_code(400); 
            exit;
        }

        // Set the email subject.
        $subject = "$name - New Contact";

        // Build the email content.
        $email_content = ""; 
        $email_content .= "Name: $name\n";
        $email_content .= "Email: $email\n";
        $email_headers = "From: $name <$email>";
        $recipient = "myname@mycompany.com";

        send_mail($recipient, $subject, $email_content, $email_headers);

        // confirm message was sent
        header('Location: contact-thank-you.html');
        exit();
    }
    // removed mailer function and other sections unessential to this question
?>

1 个答案:

答案 0 :(得分:0)

实际上,如果您使用html header manual编写脚本,则可能会导致问题。 但是在这种情况下,使用jquery或js脚本看起来更方便,我的意思是如果您不在控制器或类似的工具中使用php标头