PHP почта всю страницу - PullRequest
0 голосов
/ 02 марта 2011

У меня есть страница, которая определяет переменную ISSET, а затем действует в соответствии с инструкциями.Например, если isset содержит «print», он загружает файл через «Включить путь шаблона» и выводит код внизу, который печатает окно.

например.

if (isset($_GET['quoteprint'])) {
include(TEMPLATEPATH . '/bookings/booking-quote.php');
echo'<script type="text/javascript">window.print()</script>';
}

Теперь я хотел быподобная функция существует, но на этот раз для отправки содержимого этой страницы пользователю по электронной почте.Я устал от этого, но это не работает.Я думаю, что содержание должно быть преобразовано, но я не знаю, с чего начать.

else if (isset($_GET['quoteemail'])) {
    $emailer = include(TEMPLATEPATH . '/bookings/booking-quote.php');
    $to = $current_user->user_email;
  $subject = "Your Quote - Dive The Gap" ;
  $message = $emailer;
  $headers = "From: Dive The Gap Bookings <ask@divethegap.com>" . "\r\n" .
             "Content-type: text/html" . "\r\n";

  mail($to, $subject, $message, $headers);
}

Есть идеи?

Чудесный

1 Ответ

1 голос
/ 02 марта 2011

Функция включения не возвращает вывод или содержимое сценария, который вы включаете.См. http://php.net/manual/en/function.include.php для получения дополнительной информации (пример № 4 может быть интересен для вас).

Вам необходимо получить все содержимое страницы или части, которые вы хотите-почта, в переменную.Одним из способов сделать это является использование выходной буферизации PHP.Хорошее объяснение того, как работает буферизация вывода, можно найти здесь: http://www.codewalkers.com/c/a/Miscellaneous/PHP-Output-Buffering/

...