不按照我应该的方式启动我的PHP,谢谢你的帮助...
我把它放在html
的形式中<p class="antispam">Leave this empty:
<br /><input name="url" /></p>
这在css中
.antispam { display:none;}
问题是注释部分,如果url字段为空正确的PHP?
{curly}括号似乎不适合我。
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = nl2br($_POST['message']);
$todayis = date("l, F j, Y, g:i a") ;
$subject = "Message from Your Website";
$body = "From $name, \n\n$message";
$headers = 'From: '.$email.'' . "\r\n" .
'Reply-To: '.$email.'' . "\r\n" .
'Content-type: text/html; charset=utf-8' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
// if the url field is empty
if(isset($_POST['url']) && $_POST['url'] == ''){
mail("me@my.com", $subject, $body, $headers);
}
?>
<!--My callback -->
<div id="mail_response">
<h3>Thank you <?php echo $name ?>!</h3><br />
<p>I will answer your message soon as possible.</p><br /><br /><br />
<h5>Message sent on: </h5>
<p><?php echo $todayis ?></p>
</div>
答案 0 :(得分:1)
你可以试试这个
if(isset($_POST['url']) && $_POST['url'] == ''){
if( mail("me@my.com", $subject, $body, $headers) )
{
?>
<div id="mail_response">
<!-- Write html here -->
</div>
<?php
}
else
{
// something went wrong
}
}
另外,你不应该使用
'Reply-To: '.$email.'' . "\r\n" .
因为,这是发件人的电子邮件地址 相反,你可以使用
$headers = 'From: ' . $email . '\r\n' .
'Reply-To: nobody@example.com' . '\r\n' .
'Content-type: text/html; charset=utf-8' . '\r\n' .
'X-Mailer: PHP/' . phpversion();
此外,您不会检查表单字段,是否为空,并且过滤用户输入是一种很好的做法。
此外,这不是打击垃圾邮件的好方法,而是可以使用captcha。