我将ajax数据传递给我的php电子邮件处理文件 - contact.php - 使用这个简单的帖子功能:
$.post('contact.php', post_data, function(response) {
var rout = response.text;
// do something w/ response
post_data
是一个简单的对象。数据的格式为键/值对,如下所示:{Name: 'me', Email: 'me@site.com'}
关键名称不会提前知道,所以我需要找到一种方法来遍历post_data&在php中创建变量,最好是同名,即名称$name
,电子邮件$email
等。
我还需要一种方法来添加这些变量&他们对$message_body
的价值如下:
<br />Name: me <br />
Email: me@site.com
答案 0 :(得分:2)
显然,您的解决方案是使用键值迭代$_POST
数组,其中key
将是表单上输入的名称,value
- 此输入的值。
$message_body = '';
foreach ($_POST as $key => $value) {
$message_body .= $key . ': ' . $value . '<br />';
}
更新:您可以进行任何过滤和消毒:
foreach ($_POST as $key => $value) {
// or check with `in_array()`
if ($key != 'excluded_key_1') {
$message_body .= sanitizeValue($key) . ': ' . sanitizeValue($value) . '<br />';
}
}
其中sanitizeValue
是您清理数据的功能,例如。