PHP - использование значений массива в сообщении электронной почты - PullRequest
0 голосов
/ 04 декабря 2011

Я использую скрипт для создания сообщения электронной почты, но по какой-то причине он не может читать переменные ... Теперь, это не обычный синтаксис 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 Ответ

1 голос
/ 04 декабря 2011

Что касается использования внутри строки, используйте {$orderdata['tickettype']} вместо $orderdata['tickettype']. Что касается объединения не работает, проверьте, если у вас есть данные, определенные в области. (поместите global $orderdata; в обе функции).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...