PHP - 在电子邮件中使用数组值

时间:2011-12-04 11:22:59

标签: php arrays email variables

我正在使用脚本来创建电子邮件,但由于某种原因,它无法读取变量... 现在,这不是普通的php语法,因为在我得到它的例子中,他们使用了这样的代码:

$messageproper =
"New message:\n" .
" \n" .
"Full name: $fullname\n" .
"Email: $email\n" ;

现在,我尝试了这个:

$messageproper =
    "New placed order:\n".
    "\n".
    "Ticket type: $orderdata['tickettype']\n".
    "From: $orderdata['from']\n".
    "To: $orderdata['to']\n";

但由于某种原因,它会在每一行都出错。 所以我尝试了这个:

 $messageproper =
    "New placed order:\n".
    "\n".
    "Ticket type: ".$orderdata['tickettype']."\n".
    "From: ".$orderdata['from']."\n".
    "To: ".$orderdata['to']."\n";

但由于某些原因,只是将每个变量留空。

因为我使用函数processOrder()(我声明并设置了所有变量)和sendOrder()(我汇编了电子邮件),我已经尝试将$ orderdata数组设为全局,但是这也没有用

这是发送电子邮件的脚本的重要部分:

$content_type = (!isset( $use_utf8 ) || ($use_utf8 == 0)) ? 'Content-Type: text/plain; charset="iso-8859-1"' : 'Content-Type: text/plain; charset="utf-8"' ;
$headersep = (!isset( $uself ) || ($uself == 0)) ? "\r\n" : "\n" ;
// ---------------------------- preparing the headers ----------------------------
$headers =
"From: \"$fullname\" <$email>" . $headersep . "Reply-To: \"$fullname\" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.15.0" .
$headersep . 'MIME-Version: 1.0' . $headersep . $content_type ;

// ---------------------------- sending the email ----------------------------
if ($use_envsender) {
mail($mailto, $subject, $messageproper, $headers, $envsender );
}
else {
    mail($mailto, $subject, $messageproper, $headers );
}
header( "Location: $thankyouurl" );
exit ;

我在这里做错了什么? 另外,有人可以向我解释这是什么类型的语法,对于$ messageproper?我以前从未见过这样的非逻辑语法(但是,现在我想起来了,我这样做:在MySQL查询中,你在哪里在请求中放入一个php变量。)

1 个答案:

答案 0 :(得分:1)

至于在字符串中使用它,请使用{$orderdata['tickettype']}而不是$orderdata['tickettype']。至于连接不起作用,请检查您是否在范围内定义了数据。 (将global $orderdata;放在两个函数中。)