如何发送包含多个变量的电子邮件

时间:2012-11-17 16:36:03

标签: php

  

可能重复:
  PHP Pear - adding variables to $body message (resolved)

我有一个带有基本表单的jQuery页面,我将每个输入的信息存储到一个特定的变量中,然后使用Ajax但是当我提交表单时

它可以工作,但它只在消息中发送一个变量,而不是我需要的多个变量..

变量已正确链接,因为我可以让函数中的任何一个变量显示它,但是当我尝试发送多个时它只显示一个。

我很抱歉,如果它不够清楚,很难解释,我认为使用+' s会起作用,但事实并非如此。

<?php

$telephone = $_POST['telephone'];
$address = $_POST['address'];
$email = $_POST['email'];
$feedback = $_POST['feedback'];

mail($email,"hello" ,$feedback+$address+$telephone);

?>

3 个答案:

答案 0 :(得分:3)

加号+运算符用于数值。

$feedback+$address+$telephone 

因此,您的添加会导致0

使用string concatenation operator .或只包含变量的字符串:

"  $feedback $address $telephone  "

另见:

答案 1 :(得分:3)

喜欢

 mail(to,subject,message,headers,parameters) 

$message="$feedback.$address.$telephone";
mail($email,"hello" ,$message);

答案 2 :(得分:2)

您的代码看起来很好。你可能有Java样式的字符串连接(检查http://php.net/manual/en/language.operators.string.php)  尝试将所有字符串变量放在一个$ message字符串中,你就可以了。

<?php

$telephone = $_POST['telephone'];
$address = $_POST['address'];
$email = $_POST['email'];
$feedback = $_POST['feedback'];
$message="$feedback.$address.$telephone";
mail($email,"hello" ,$message);

?>

由于php中的mail函数返回boolean,你也可以做一些检查:

<?php
if (!mail($email,"hello" ,$message)){
//LOG ERROR 
//OR output
echo "Could not send mail, try checking php logs or enable logs via ini_set('display_errors',1)"
}