【问题标题】:Form Submission, Auto-Email & jquery [duplicate]表单提交、自动电子邮件和 jquery [重复]
【发布时间】:2019-06-06 23:56:03
【问题描述】:

由于我是编程新手,想咨询一下同时使用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 在点击“发送”时回复“感谢您的评论”。

感谢您在这方面的帮助。

【问题讨论】:

  • 您使用的是本地主机吗?如果是这样,您是否设置了电子邮件服务器?
  • 嗨。是的,我直接在本地电脑上进行测试。我希望无需打开电子邮件客户端即可自动发送邮件。
  • 你是在windows还是linux下工作?

标签: php jquery html forms email


【解决方案1】:

考虑到您已正确设置电子邮件服务器,我们会提供答案。

您的 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);
?>

【讨论】:

  • 谢谢,我会试试,但是 jquery 是否正确?我没有收到反馈“谢谢您的评论!”当我点击“发送”时。
  • 嗨@Johnanon123 - 如果我的代码有效,那么您可以接受答案。
猜你喜欢
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多