[英]What's the best way to email form details?
Newbie seeking advice, will be much appreciated if someone can help me out!!! 新手寻求建议,如果有人可以帮助我,将不胜感激!!!
So I have a simple form on my site: 所以我的网站上有一个简单的表格:
<form id="quote" method="post" class="contact" action="mail.php">
<fieldset>
<div id="form_name">
<label for="name" class="fixedwidth"> Please enter your full name:</label>
<input id="name" name="name" type="text" required aria-required="true" autofocus>
</div>
<div id="form_mail">
<label for="email" class="fixedwidth"> Please enter your email address:</label>
<input id="email" name="email" type="email" required aria-required="true">
</div>
<div id="form_tel">
<label for="tel" class="fixedwidth">Please enter you phone number:</label>
<input id="tel" name="tel" type="tel" required aria-required="true" >
</div>
<div id="form_message">
<label for="message" class="fixedwidth"> Leave a message:</label>
<textarea id="message" name="message" cols="20"rows="7"></textarea>
</div>
<div id="form_submit">
<input type="submit" value="Submit">
</div>
I want to email the details onto myself. 我想将详细信息通过电子邮件发送给我自己。 I'm using mail.php for this:
我为此使用mail.php:
<?php
$myemail = "myemail@gmail.com";
$name = $_POST['name'];
$email = $_POST['email'];
$tel = $_POST['tel'];
$message = $_POST['message'];
$subject = 'Website query';
$body = "Name: $name E-mail: $email Telephone Number: $tel Subject: $subject Message: $message";
mail($myemail, $subject, $body);
?>
When a user hits the "submit" button, I want a thank you response to appear below the form and the form to be cleared. 当用户单击“提交”按钮时,我希望在表格下方显示谢谢答复,并清除表格。
Can anyone help me out with this? 谁能帮我这个忙吗?
Thanks a million! 太感谢了!
You actually do not need javascript to do this, just put everything on the same page and check if POST values are sent. 实际上,您不需要JavaScript即可,只需将所有内容放在同一页上,然后检查是否发送了POST值。
<form id="quote" method="post" class="contact" action="">
<fieldset>
<div id="form_name">
<label for="name" class="fixedwidth"> Please enter your full name:</label>
<input id="name" name="name" type="text" required aria-required="true" autofocus>
</div>
<div id="form_mail">
<label for="email" class="fixedwidth"> Please enter your email address:</label>
<input id="email" name="email" type="email" required aria-required="true">
</div>
<div id="form_tel">
<label for="tel" class="fixedwidth">Please enter you phone number:</label>
<input id="tel" name="tel" type="tel" required aria-required="true" >
</div>
<div id="form_message">
<label for="message" class="fixedwidth"> Leave a message:</label>
<textarea id="message" name="message" cols="20"rows="7"></textarea>
</div>
<div id="form_submit">
<input type="submit" value="Submit">
</div>
</fieldset>
</form>
<?php if(isset($_POST['email'])) { // & other checks
$myemail = "myemail@gmail.com";
$name = $_POST['name'];
$email = $_POST['email'];
$tel = $_POST['tel'];
$message = $_POST['message'];
$subject = 'Website query';
$body = "Name: $name E-mail: $email Telephone Number: $tel Subject: $subject Message: $message";
if(mail($myemail, $subject, $body)){
echo "MAIL SENT";
}
} ?>
Just add value="" to your inputs to clear them on reload. 只需将value =“”添加到您的输入即可在重新加载时清除它们。 On the other hand if you do not want the page to reload at all you will need javascript with AJAX
另一方面,如果您根本不希望重新加载页面,则需要AJAX的javascript
NB: I haven't checked your code for errors I'm just giving you the logic but at first glance it seems ok. 注意:我没有检查您的代码是否有错误,我只是向您提供逻辑,但乍一看似乎还可以。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.