我试图使用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);
只有提交的邮件是我的上一篇文章记录,任何人都可以看到我出错的地方吗?
答案 0 :(得分:16)
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变量中,而不是回显它们。
答案 1 :(得分:0)
$message = "";
foreach ($_POST as $key => $value)
$message .= "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";
mail('liam@site.co.uk', 'sghting', $message);
答案 2 :(得分: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);