大家好,我需要帮助!我一周前开始学习php。 我有一个表格为一个联系人POST一些文本字段,我需要在一些变量中拆分数组以放入电子邮件。这是我的代码
$field = $_POST['input'];
if ( isset( $field ) === TRUE){
foreach ($field as $key => $value) {
echo '<pre>' , print_r( $value ) , '</pre>'; //to list the array
}
$to = $mail;
$sbj = "thanks to register to $site";
..//some headers
mail($to,sbj,$headers)
}
这是表格
<form action="upload.php" method="POST">
<input type="text" name="input[]">
<input type="text" name="input[]">
<input type="text" name="input[]">
<input type="submit" value="invia">
</form>
有关将数组上的变量包含在邮件中的任何建议吗?
答案 0 :(得分:1)
你可以使用implode()函数,它接受一个数组和一个分隔符,并将数组的元素连接成一个字符串,每个元素用你传递的分隔符字符串分隔,例如:
foreach($field as $key=>$value) {
$input[] = $value;
}
$body = implode("\n",$input); //implode here
$to = $mail;
$sbj = "thanks to register to $site";
..//some headers
mail($to,sbj,$body,$headers)
这将在电子邮件的单独行中创建您的输入列表。
答案 1 :(得分:1)
$field = $_POST['input'];
$info = array();
foreach ($field as $key => $value) {
array_push($info,$value);
}
// echo implode(",",$info);
$to = $mail;
$sbj = "thanks to register to $site";
$body = implode(",",$info);
..//some headers
mail($to,sbj,$body,$headers)
答案 2 :(得分:0)
最简单但最丑陋的方法就是使用:
mail($to,sbj,print_r($field, true),$headers);
print_r($field, true)
会将值输出到变量,而不是立即将其打印出来。