Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.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_Form Submit - Fatal编程技术网

如何防止php联系人表单重定向到其他页面?

如何防止php联系人表单重定向到其他页面?,php,html,forms,form-submit,Php,Html,Forms,Form Submit,我有一个联系人表单,它接收用户的信息,并使用php将这些信息发送到我的电子邮件中。这部分工作正常,但当用户单击Submit按钮时,页面将重定向到php页面本身。如何防止页面重定向到php页面,而不是停留在当前页面上,同时仍然提交表单 <div class="contact_container"> <form id="contact" action="mailer.php" method="po

我有一个联系人表单,它接收用户的信息,并使用php将这些信息发送到我的电子邮件中。这部分工作正常,但当用户单击Submit按钮时,页面将重定向到php页面本身。如何防止页面重定向到php页面,而不是停留在当前页面上,同时仍然提交表单

    <div class="contact_container">
    <form id="contact" action="mailer.php" method="post" name="myemailform">
        <fieldset>
            <input placeholder="Full Name *" type="text" name="name" required autofocus>
        </fieldset>
        <fieldset>
            <input placeholder="Email Address *" type="email" name="email" required>
        </fieldset>
        <fieldset>
            <input placeholder="Phone Number" type="tel" name="phone" required>
        </fieldset>
        <fieldset>
            <button name="submit" type="submit" id="contact-submit" data-submit="...Sending">Submit</button>
        </fieldset>
    </form>
</div>

提交
php


查看部件:-

<div class="contact_container">
    <div class="output_message"></div>          //empty div with class output_message.
    <form method="post" class="myform" action="">
        <fieldset>
            <input placeholder="Full Name *" type="text" name="name" required autofocus>
        </fieldset>
        <fieldset>
            <input placeholder="Email Address *" type="email" name="email" required>
        </fieldset>
        <fieldset>
            <input placeholder="Phone Number" type="tel" name="phone" required>
        </fieldset>
        <fieldset>
            <button name="submit" type="submit" id="contact-submit" data-submit="...Sending">Submit</button>
        </fieldset>
    </form>
</div>
  <script>
           $(document).ready(function() {         //when Document is ready.
           $('.myform').on('submit',function(){   //on form submit

           // Add text 'loading...' right after clicking on the submit button. 
           $('.output_message').text('Loading...'); 

           var form = $(this);       //target current form.
                $.ajax({           
                url: "email.php",    //URL which sents to server side.        
                method: "POST",      //method POST.
                data: form.serialize(),  // taking all form data.
                success: function(result){    //successs function
            if (result == 'success'){          //after success function. 
                $('.output_message').text('Message Sent!');  
            } else {
                $('.output_message').text('Error Sending email!');
            }
        }
    });

    // Prevents default submission of the form after clicking on the submit button. 
    return false;   
  });
  });

</script>

//带有类输出消息的空div。
提交
jQuery/AJAX部分:-

<div class="contact_container">
    <div class="output_message"></div>          //empty div with class output_message.
    <form method="post" class="myform" action="">
        <fieldset>
            <input placeholder="Full Name *" type="text" name="name" required autofocus>
        </fieldset>
        <fieldset>
            <input placeholder="Email Address *" type="email" name="email" required>
        </fieldset>
        <fieldset>
            <input placeholder="Phone Number" type="tel" name="phone" required>
        </fieldset>
        <fieldset>
            <button name="submit" type="submit" id="contact-submit" data-submit="...Sending">Submit</button>
        </fieldset>
    </form>
</div>
  <script>
           $(document).ready(function() {         //when Document is ready.
           $('.myform').on('submit',function(){   //on form submit

           // Add text 'loading...' right after clicking on the submit button. 
           $('.output_message').text('Loading...'); 

           var form = $(this);       //target current form.
                $.ajax({           
                url: "email.php",    //URL which sents to server side.        
                method: "POST",      //method POST.
                data: form.serialize(),  // taking all form data.
                success: function(result){    //successs function
            if (result == 'success'){          //after success function. 
                $('.output_message').text('Message Sent!');  
            } else {
                $('.output_message').text('Error Sending email!');
            }
        }
    });

    // Prevents default submission of the form after clicking on the submit button. 
    return false;   
  });
  });

</script>

$(document).ready(函数(){//当文档准备好时)。
$('.myform')。在('submit',函数(){//在表单提交时
//单击提交按钮后立即添加文本“加载…”。
$('.output_message').text('Loading…');
var form=$(this);//目标当前表单。
$.ajax({
url:“email.php”,//发送到服务器端的url。
方法:“POST”,//方法POST。
数据:form.serialize(),//获取所有表单数据。
成功:函数(结果){//successs函数
if(result=='success'){//after success函数。
$('.output_message').text('message Sent!');
}否则{
$('.output_message').text('发送电子邮件时出错!');
}
}
});
//防止在单击“提交”按钮后默认提交表单。
返回false;
});
});
email.php

<?php

if(isset($_POST['submit'])) {
$to = "example@email.com";
$subject = "Business Service Inquiry";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$phone_field = $_POST['phone'];
 
$body = "From: $name_field\n E-Mail: $email_field\n Phone Number: $phone_field";
 
$send_email = mail($to, $subject, $body);

echo ($send_email) ? 'success' : 'error';
} 

?>  

注意:-有关序列化()的更多信息方法


为此,您必须使用
ajax