通过PHP发送表单数据?

时间:2013-03-22 00:58:36

标签: php html

表单操作是“”,因为它都使用相同的页面。无论如何,表格可以在同一页面上提交而不刷新吗?

PHP:

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
    $to="josue.espinosa@mtchs.org";
    $subject="Tech Muffins Contact";
    $message="Name:      ".$_REQUEST['name']."\n\nEmail:      ".$_REQUEST['email']."\n\nMessage: ".$_REQUEST['message'];
    $from = "donotreply@techmuffins.com";
    $headers = "From:" . $from;
    mail($to, $subject, $message, $headers );
}
?>

HTML:

<form id="contactform" action="" method="post" autocomplete="off">
    <input type="text" name="name" placeholder="name" autofocus required>
    <input type="email" id="email" name="email" placeholder="email" required>
    <textarea name="message" placeholder="message" required></textarea>
    <input type="submit" value="submit">
</form>

2 个答案:

答案 0 :(得分:0)

为了在不刷新的情况下执行此操作,您通常会通过Ajax处理此问题。存在javascript函数。这是一个例子(使用jQuery):

var frm = $(document.myform);
var data = JSON.stringify(frm.serializeArray());

答案 1 :(得分:0)

将'your.php'改为你的

  <script type="text/javascript">
            $(document).ready(function(){
                $("#contactform").submit( function () {    
                  $.post(
                   'your.php', 
                    $(this).serialize(),
                    function(data){
                      //if you have a div to show result (with id=results)
                      $("#results").html(data)
                   //if sucess hide the form as $("#contactform").hide()
                  // or .fadeOut() 
                    }
                  );
                  return false;   
                });   
            });
    </script>