表单提交,自动电子邮件和jQuery

时间:2019-01-12 05:34:15

标签: php jquery html forms email

由于我是编程新手,所以我想询问有关同时使用html和php进行表单提交的情况。

基本上,表单是由html制作的,而php用于自动将电子邮件发送到特定地址。

我也想使用jquery进行表单验证并回复以下消息:“谢谢您的评论”。

但是,似乎我遇到了一个问题。当我单击“发送”时,没有将电子邮件发送到我选择的9个地址,并且没有消息弹出。

我很确定代码中有错误。任何人都可以检查和帮助吗?

谢谢。

<form id ="myForm" class="myForm" action="submit_student_form.php" method="post">
  <h1 class="form-title">My title</h1>
  <label>Name*</label>
  <input type="text" name="first_name" placeholder="Please put name here" required>
  </p>
    <p>
  <label>Contact*</label>
  <input type='tel' name="telephone" placeholder="00000000 968+" maxlength="13" minlength="12" required>
    </p>
    <p>
   <label>Comment</label>
  <input type="text" name="comment" placeholder="comment here" size="100">
  </p>
    <p>
  <button type="Submit">Send</button><br>
  
</form>


<?php
if(isset($_POST['email'])) {
    $email_to = "xxx@gmail.com
";
    $email_subject = "Subject";
    $email_message = "Details Below.\n\n";
    $email_message .= "Name*: ".clean_string($first_name)."\n";
    $email_message .= "Contact*: ".clean_string($telephone)."\n";
    $email_message .= "Comment: ".clean_string($comment)."\n";

mail($email_to, $email_subject, $email_message);
?>

 <?php
}
?>

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 
 
    <script> 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind 'myForm' and provide a simple callback function 
            $('#myForm').ajaxForm(function() { 
                alert("Thank you for your comment!"); 
            }); 
        }); 
    </script> 
</head> 

 

所以,基本上我需要的是:

1)按下“发送”后,将自动使用php将电子邮件发送到给定的地址。

2)jquery在点击“发送”时回复“谢谢您的评论”。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

考虑到您已经正确设置了电子邮件服务器,所以提供了答案。

您的html代码块没有电子邮件字段,您正在第一行中检查php脚本。

您将不得不以html代码添加电子邮件文本输入,或者从php代码中删除isset块。我个人更希望添加电子邮件字段。

解决方案1-添加电子邮件输入

<input type="text" name="email" placeholder="email address here">

解决方案2-从php脚本中删除isset

<?php
    $email_to = "xxx@gmail.com";
    $email_subject = "Subject";
    $email_message = "Details Below.\n\n";
    $email_message .= "Name*: ".clean_string($first_name)."\n";
    $email_message .= "Contact*: ".clean_string($telephone)."\n";
    $email_message .= "Comment: ".clean_string($comment)."\n";

    mail($email_to, $email_subject, $email_message);
?>