0

変数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);
}

何か案は?

素晴らしい

4

1 に答える 1

1

include関数は、インクルードしているスクリプトの出力またはコンテンツを返しません。詳細については、 http://php.net/manual/en/function.include.phpを参照してください(例4は興味深いかもしれません)。

ページのコンテンツ全体、または電子メールで送信したい部分を変数に入れる必要があります。これを行う1つの方法は、PHPの出力バッファリングを使用することです。出力バッファリングがどのように機能するかについての良い説明はここで見つけることができます:http://www.codewalkers.com/c/a/Miscellaneous/PHP-Output-Buffering/

于 2011-03-02T13:20:10.700 に答える