在支持表单中包含日期、IP 和HTTP_HOST


Include date, IP and HTTP_HOST in Support form

>我正在尝试在我的联系表单提交中包含当前日期,发件人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;