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

时间:2015-01-26 10:20:05

标签: php

我正在尝试在我的联系表单提交中包含当前日期,发件人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和主机。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

您已将(ip,date等)存储在变量中,因此请将这些变量用于邮件。还这些值在POST数据中不存在,因此请尝试替换

'Date:  ' . $_POST['$date'] . "\n" .
'IP:  ' . $_POST['$IP'] . "\n" .
'Host:  ' . $_POST['$Host'];

'Date:  ' . $date . "\n" .
'IP:  ' . $IP . "\n" .
'Host:  ' . $Host;

答案 1 :(得分:2)

你应该像这样(下图)附上,因为$ date,$ IP和$ Host不会在发布请求中传输:

$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;