我想添加一个php表单,发送一条消息,其中包含发送它的人的姓名和电子邮件,这是我当前的html,顺便说一句,我使用bootstrap:
<div class="row" id="contact-padding">
<div class="col-md-12 text-center" id="contact-form1">
<form action="mail.php" method="POST">
<p></p><br><input type="text" name="name" placeholder="Име" id="formInput">
<p></p><br><input type="text" name="email" placeholder="Поща" id="formInput">
<p></p><br><input type="text" name="phone" placeholder="Телефон" id="formInput">
<p></p><br>
<textarea name="message" rows="6" cols="25" placeholder="Запишете съобщението, което искате да изпратите." ></textarea><br/><br>
<input type="submit" value="Изпрати" id="send">
<input type="reset" value="Изчисти" id="send">
</form>
</div>
</div>
</div>
这是我用于此html的PHP脚本:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$formcontent=" From: $name \n Phone: $phone \n Message: $message";
$recipient = "zombaza@abv.bg";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>
每当我尝试发送消息时,它只是在新页面上打开php文件而我没有收到关于&#34; zombaza@abv.bg"
的电子邮件我尝试了几件事,但他们似乎没有工作,我完成这份工作非常重要,所以如果有人有想法,请与我分享,我真的很感激!
答案 0 :(得分:0)
发送邮件对于垃圾邮件而言是众所周知的。在您的情况下,您允许未经验证的内容直接进入电子邮件标题:这就是在寻找麻烦。您还需要注意空格和换行符。
要帮助自己投射,请转到受信任的邮件脚本/类/库。我经常使用swiftmailer(http://swiftmailer.org/),因为它具有合适的配置,错误捕获等。
如果您需要修复上面的代码,请添加标准调试(检查error_reporting和ini_set('display_errors')),因为它们会显示代码中的问题。在顶部放置一个“echo”,这样你就知道你正在调用正确的脚本等(“在新页面中打开”实际上表明你有一些干扰的JavaScript - 如果是这样的话就禁用JS函数)。
但在输出到电子邮件,数据库或HTML页面之前,请务必检查您的输入。
答案 1 :(得分:-1)
在此
中添加@ @mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");