9

我正在尝试使用 PHP Mail 函数向自己发送一封包含所有帖子变量的电子邮件。

到目前为止,我有这个...

$message = foreach ($_POST as $key => $value)
echo "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

$message = wordwrap($message, 70);

mail('liam@site.co.uk', 'sghting', $message);

只有提交的消息是我最后的帖子记录,有人能看到我哪里出错了吗?

4

3 回答 3

17
foreach ($_POST as $key => $value)
    $message .= "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

mail('liam@site.co.uk', 'sghting', $message);

$message = foreach ($_POST as $key => $value)不正确,这将遍历结果并存储最后一个。您希望将值存储在 $message 变量中,而不是回显它们。

于 2012-11-05T13:02:13.590 回答
1
$message = "";
foreach ($_POST as $key => $value)
$message .= "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

mail('liam@site.co.uk', 'sghting', $message);
于 2012-11-05T13:13:34.880 回答
0

我个人只是var_export()用于这种事情。

$message = var_export($_POST,true);

如果使用并设置为 TRUE,var_export() 将返回变量表示而不是输出它。

实践示例是:

mail('name@site.co.uk', 'Export of the Post Data', var_export($_POST,true));

或者如果你想做一些更漂亮的事情

$posted_data = var_export($_POST,true);
$message = '
<h4> Debug Registration Form on XXX </h4>
<p>Here is a dump of the posted data</p>
<pre>
'.$posted_data.'
</pre>
';
mail('name@site.co.uk', 'Export of the Posted Data', $message);
于 2020-12-07T08:55:25.647 回答