ホームページ  >  記事  >  バックエンド開発  >  変数 echo の後の内容が変数に格納されている場合はどうなるでしょうか?

変数 echo の後の内容が変数に格納されている場合はどうなるでしょうか?

WBOY
WBOYオリジナル
2016-06-23 14:19:421652ブラウズ

この投稿は、u011552243 によって 2013-08-20 20:08:40 に最終編集されました

php echo email

問題の背景: フォームを出力し、このフォームをコンテンツとして電子メールで送信したいと考えています。
質問: コードから始めましょう
 $message = '<table><tr><td><p>'; $message.= 'Driver:  '; $message.= $firstName.'  '.$lastName; $message.= '</p></td></tr><tr><td><p>Date:'.$orderTime.'</p></td></tr></table><table><tr><td><p>No: 1</p></td><td><p>Car'.$truck.':'.'     '.$licNum; $message.= '</p></td></tr><tr><td><p>Kund:'.$customerName.'</p></td><td><p>Order:'.$orderNum.'</p></td></tr><tr><td><p>'; $message.= 'Book number:'.$bookNumPick.'</p></td><td><p>Produktnamn:'.$productName.'</p></td></tr><tr><td><p>Chassi:'; $message.=  $tankName.'</p></td><td><p>Tank number:'.$chassi.'</p></td></tr><tr><td><p>Place:'.$locationPick.'</p></td><td><p>Place 2:'; $message.=  $portCodePick.'</p></td> </tr><tr><td><p>Place 3:'.$locationUnload.'</p></td><td><p>Place 4:'; $message.=  $timeUnload.'</p></td></tr><tr><td><p>Place 5:'.$ADRclass.'</p></td><td><p>Place 5:'.$weight.'</p></td></tr><tr><td><p>Place 6:'; $message.=  $locationLoad.'</p></td><td><p>Place 7:'.$loadTime.'</p></td></tr><tr><td colspan="2"><p>Place 8:'; $message.=  '</p></td></tr><tr><td colspan="2"><p>'.$info.'</p></td></tr><tr><td><p>Place 9:'.$outE.'</p></td><td><p>Place 10:'.$bookNumOut.'</p></td></tr><tr> <td><p>Place 11:'; $message.=  $portCodeOut.'</p></td><td></td></tr></table>'; echo $message."<br>"; $to = $email; $subject = "Task"; $from = EMAIL; $headers = "From: $from"; echo $headers."<br>";  mail($to,$subject,$message,$headers);

最初は二重引用符を使用していましたが、後で $message の内容が二重引用符のままになるようにするために、外側の二重引用符を一重引用符に変更しました。

実際、メールの内容が echo $message の結果であることを願っています。ただし、mail() 関数を使用して $message を直接送信すると、受信結果は次のようになります:
f5d188ed2c074f8b944552db028f98a1a34de1251f0d9fe1e645927f19a896e8b6c5a531a458a2e790c1fd6421739d1ce388a4556c0f65e1904146cc1a846bee。 。 。 。 (省略した場合、$message が表示されます)。 。 。 。 。 94b3e26ee717c64999d7867364b1b4a3b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1cb90dd5946f0946207856a8a37f441edffd273fcf5bcad3dfdad3c41bd81ad3e5f16b1740fad44fb09bfe928bcc527e08
$message の後に結果をエコーするのではなく、$message 内のコンテンツを直接送信するだけです。
どうすればいいですか?
ご都合がよければ、キーコードのスニペットや例をご指摘いただけますよう、よろしくお願いいたします。

ディスカッションへの返信 (解決策)

問題の背景: フォームを出力し、このフォームをコンテンツとして電子メールで送信したいと考えています。
質問: コードから始めましょう

 $message = '<table><tr><td><p>'; $message.= 'Driver:  '; $message.= $firstName.'  '.$lastName; $message.= '</p></td></tr><tr><td><p>Date:'.$orderTime.'</p></td></tr></table><table><tr><td><p>No: 1</p></td><td><p>Car'.$truck.':'.'     '.$licNum; $message.= '</p></td></tr><tr><td><p>Kund:'.$customerName.'</p></td><td><p>Order:'.$orderNum.'</p></td></tr><tr><td><p>'; $message.= 'Book number:'.$bookNumPick.'</p></td><td><p>Produktnamn:'.$productName.'</p></td></tr><tr><td><p>Chassi:'; $message.=  $tankName.'</p></td><td><p>Tank number:'.$chassi.'</p></td></tr><tr><td><p>Place:'.$locationPick.'</p></td><td><p>Place 2:'; $message.=  $portCodePick.'</p></td> </tr><tr><td><p>Place 3:'.$locationUnload.'</p></td><td><p>Place 4:'; $message.=  $timeUnload.'</p></td></tr><tr><td><p>Place 5:'.$ADRclass.'</p></td><td><p>Place 5:'.$weight.'</p></td></tr><tr><td><p>Place 6:'; $message.=  $locationLoad.'</p></td><td><p>Place 7:'.$loadTime.'</p></td></tr><tr><td colspan="2"><p>Place 8:'; $message.=  '</p></td></tr><tr><td colspan="2"><p>'.$info.'</p></td></tr><tr><td><p>Place 9:'.$outE.'</p></td><td><p>Place 10:'.$bookNumOut.'</p></td></tr><tr> <td><p>Place 11:'; $message.=  $portCodeOut.'</p></td><td></td></tr></table>'; echo $message."<br>"; $to = $email; $subject = "Task"; $from = EMAIL; $headers = "From: $from"; echo $headers."<br>";  mail($to,$subject,$message,$headers);

最初は二重引用符を使用していましたが、後で $message の内容が二重引用符のままになるようにするために、外側の二重引用符を一重引用符に変更しました。

実際、メールの内容が echo $message の結果であることを願っています。ただし、mail() 関数を使用して $message を直接送信すると、受信結果は次のようになります:
f5d188ed2c074f8b944552db028f98a1a34de1251f0d9fe1e645927f19a896e8b6c5a531a458a2e790c1fd6421739d1ce388a4556c0f65e1904146cc1a846bee。 。 。 。 (省略した場合、$message が表示されます)。 。 。 。 。 94b3e26ee717c64999d7867364b1b4a3b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1cb90dd5946f0946207856a8a37f441edffd273fcf5bcad3dfdad3c41bd81ad3e5f16b1740fad44fb09bfe928bcc527e08
$message の後に結果をエコーするのではなく、$message 内のコンテンツを直接送信するだけです。
どうすればいいですか?
ご都合がよければ、キーコードのスニペットや例をご指摘いただけますよう、よろしくお願いいたします。

自分で解決しました。その中で、 $headers = "From: $from". "rn";;
$headers .= "MIME-Version: 1.0n" . "Content-type: text/html; charset=UTF-8'";それがカンです。結び目ステッカー。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。