由于我是编程新手,所以我想询问有关同时使用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在点击“发送”时回复“谢谢您的评论”。
感谢您的帮助。
答案 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);
?>