>我正在尝试在我的联系表单提交中包含当前日期,发件人IP和主机。
这是代码:
<?php
if( isset($_POST['name']) )
{
$to = 'info@mydomain.com'; // Replace with your email
$subject = 'Contact Form Submission'; // Replace with your $subject
$headers = 'From: ' . $_POST['email'] . "'r'n" . 'Reply-To: ' . $_POST['email'];
$date = date('M jS, Y @ h:i a');
$IP = $_SERVER['REMOTE_ADDR'];
$Host = $_SERVER['HTTP_HOST'];
$message = 'Name: ' . $_POST['name'] . "'n" .
'E-mail: ' . $_POST['email'] . "'n" .
'Subject: ' . $_POST['subject'] . "'n" .
'Department: ' . $_POST['department'] . "'n" .
'Message: ' . $_POST['message'] . "'n" .
'Date: ' . $_POST['$date'] . "'n" .
'IP: ' . $_POST['$IP'] . "'n" .
'Host: ' . $_POST['$Host'];
mail($to, $subject, $message, $headers);
if( $_POST['copy'] == 'on' )
{
mail($_POST['email'], $subject, $message, $headers);
}
}
?>
电子邮件已收到,但没有日期、IP 和主机。任何帮助将不胜感激。
您已经将(ip,日期等)存储在变量中,因此请将这些变量用于邮件。 这些值也不存在在 POST 数据中,因此请尝试替换
'Date: ' . $_POST['$date'] . "'n" .
'IP: ' . $_POST['$IP'] . "'n" .
'Host: ' . $_POST['$Host'];
自
'Date: ' . $date . "'n" .
'IP: ' . $IP . "'n" .
'Host: ' . $Host;
你应该像这样附加(波纹管),因为$date、$IP和$Host不会在 post 请求中传输:
$createdDate = new DateTime();
$date= $createdDate->format('d.m.Y H:m');
$message = 'Name: ' . $_POST['name'] . "'n" .
'E-mail: ' . $_POST['email'] . "'n" .
'Subject: ' . $_POST['subject'] . "'n" .
'Department: ' . $_POST['department'] . "'n" .
'Message: ' . $_POST['message'] . "'n" .
'Date: ' . $date. "'n" .
'IP: ' . $IP. "'n" .
'Host: ' . $Host;