0

以下のコードを使用して、チェックボックス項目を MySQL データベースに保存しています。3 行目は、各項目の間に改行を入れる必要がある場所です。<br>orを試してみ<br />ましたが、標準ページの画面では見栄えがしますが、実際には電子メールの領収書に<br>or <br />html が表示され、改行は行われません。

for ($i=0; $i<count($_POST['swatchname']);$i++) {
  $swatchname.= $_POST['swatchname'][$i];
  $swatchname.="<br />";  
}  

電子メールを送信するための私の JavaScript では、 \n を使用して電子メールの改行を行ってきましたが、完全に機能します。

質問は..メールと標準のhtmlページの両方で正しく表示するには、どの方法または文字を使用すればよいですか? コンマで区切られたアイテムをリストしたくありません。クライアントはそれをリストする必要があります。

4

3 に答える 3

3

電子メール クライアントが一般的なテキスト形式ではなく HTML ドキュメントとして理解できるように、電子メールのヘッダーを変更しましたか?

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

コンテンツ ヘッダーを追加すると、電子メールは HTML ページのように機能しますが、クライアントは定型化された電子メールを表示できるようになります。

編集:一部の電子メール クライアントはコンテンツ タイプとして html を受け入れませんが、主要なもののほとんどは受け入れます

于 2012-07-14T07:11:44.113 に答える
1

メールでは \n を使用し、Web サイトで表示する場合はnl2brPHP 関数を使用します。

于 2012-07-14T07:06:39.740 に答える
0

「シリアル化」に関するチュートリアルを見つけました。

チェックボックスの選択をデータベースに保存する方法です。ユーザーフレンドリーなチュートリアルに従ってください。http://evolt.org/node/60222/

そして、チュートリアルが示しているところはprint $variable.", ";print $variable."<br />";htmlページに改行が入るようにしました。顧客に電子メールの領収書を送信するページで、電子メールprint $variable."\n";で作業しているように見えます。

注: 必ずチュートリアルに従ってシリアル化を解除してください。そうしないと、ごちゃごちゃしたコードになってしまい、何か問題があったと思います。また、ループを使用して各チェックボックス項目を引き出します。

于 2012-07-14T07:27:12.753 に答える