联系表单:用户在提交

时间:2015-06-04 07:04:12

标签: php contact-form

当用户点击“联系表格”上的“提交”按钮时,“联系”表单的底部不会显示成功或错误消息;相反,消息以普通格式显示在新的空白页面上,然后终止;用户未返回联系表单。我有三个联系表单文件:contactus.html, style.cssemailform.php

emailform php(此php驻留在主机服务器上)包含用于错误捕获的if ($_POST['submit']) {代码。 Contactus.html包含

<form method="post" action="http://www.xxxxxx.com/emailform.php" name="Form" id="Form">

任何人都可以帮忙解决这个问题吗?提前致谢。

2 个答案:

答案 0 :(得分:0)

如果您在提交表单后要将用户发送回上一页,则emailform.php文件应包含:

header('Location: ' . $_SERVER['HTTP_REFERER']);

如果您想在contactus.html上显示错误消息,可以在网址中添加一个参数,例如contactus.html?error=1,您可以捕获错误并将其显示给用户同一页。

或者,您的contactus.html文件可以向emailform.php发出AJAX请求,并在同一页面中显示结果,因此浏览器无需重定向到emailform.php

如果您已经包含了jQuery并希望通过AJAX进行POST,请尝试从表单中删除action=...,让您的头脑中包含jQuery并在您的身体中随处移动:

<script type="text/javascript">
$("#submit").on("click",function(){

    var email = $("#email").val();
    var name = $("#name").val();
    var message = $("#message").val();

    $.ajax({
        type: "POST",
        url: "/emailform.php",
        data: { email : email, name : name, message: message }
    }).done(function(msg) {
        //update your message div here
        $("#message").test(msg);
        alert(msg);
    });
});

</script>

答案 1 :(得分:0)

从您的emailform.php重定向回contactus.html。 如果您希望能够对表单做出反应,请将contactus设置为php文件(如果您的Web服务器未配置为在html文件中使用php)。

当您从emailform.php重定向时,您可以通过网址向联系人发送get参数。 With header('Location: ' . $_SERVER['HTTP_REFERER'] . '?success=true');

在您的contactus.php中,您可以检查是否有参数等。

if(isset($_GET['success'])){
    if($_GET['success'] === 'true'){
        echo 'it worked fine';
    else{
        echo 'something did not work';
    }
}