我正在尝试创建一个检查列表,允许用户检查他们想要的每个项目,然后向他们选择的电子邮件发送电子邮件。我正在使用JQueryMobile,我不知道它是否会导致任何问题,但是当我按下提交时页面会不断加载。
这是我的HTML代码:
<form name="emailform" enctype="multipart/form-data" action="form-to-email.php" method="post">
<div data-role="fieldcontain">
<label for='name'>Festival name: </label><br>
<input type="text" name="name">
<h3>
Essentials
</h3>
<fieldset data-role="controlgroup" data-type="vertical">
<legend>
</legend>
<input name="checkbox1" id="checkbox1" type="checkbox" />
<label for="checkbox1">
Tickets
</label>
<input name="checkbox2" id="checkbox2" type="checkbox" />
<label for="checkbox2">
Parking pass
</label>
<input name="checkbox3" id="checkbox3" type="checkbox" />
<label for="checkbox3">
Directions
</label>
<input name="checkbox4" id="checkbox4" type="checkbox" />
<label for="checkbox4">
Cash & Cards
</label>
<input name="checkbox5" id="checkbox5" type="checkbox" />
<label for="checkbox5">
Keys
</label>
</fieldset>
<label for='email'>Send to Email:</label><br>
<input type="text" name="email">
<input name="share" type="submit" value="Share">
</form>
这是我的PHP:
<?php
if(!isset($_POST['submit'])){
if (!$_POST['name'] | !$_POST['email'])
{
echo"<div class='error'>Error<br />You did not fill in a required field, please review your form and correct the missing information.</div>";
}
}
$name = $_POST['name'];
$email = $_POST['email'];
$checkbox1 = $_POST['checkbox1'];
$email_from = "Application";
$email_subject = $name;
$email_body = "You have received a new checklist via App.\n".
"Here is the checklist so far:\n $checkbox1".
$headers = "From: $email_from \r\n";
mail($email, $email_subject,$email_body,$headers);
header('Location: index.html');
?>
答案 0 :(得分:0)
如果您尝试从localhost发送电子邮件,那么您肯定会遇到此错误,因为默认情况下没有邮件设置。但是,您可以在计算机上安装测试邮件服务器以测试来自localhost的电子邮件。
如果您要从实时服务器发送电子邮件,则需要按照本教程克服代码中可能出现的任何问题:http://www.w3schools.com/php/php_mail.asp
答案 1 :(得分:0)
我认为您应该通过AJAX与jQuery进行通信,在这种情况下,您不应该发送标头。另外,您应该注意复选框值为TRUE / FALSE,所以
“您已通过App收到了新的核对清单。” “到目前为止,这是清单:”。