0

助けが必要です。PHP のメール機能を介してメールを送信する必要があるため、メッセージ フィールドに HTML テキストを作成する必要があります。なぜそれが機能しないのか知っている人はいますか???

public function sendmail($arr){
    $to = $_SESSION['email'];
    $subject = 'کارت شارژ';
    $message = '<html>
                    <head>
                      <title>کد شارژ خریداری شده شما</title>
                    </head>
                    <body>
                      <p>از خرید شما متشکریم</p>
                      <table>
                        <tr>
                          <th>#شماره</th><th>کد شارژ</th>
                        </tr>
                        '+ 
                        foreach ($arr as $i){
                            echo '<tr><td>'.$i.'</td></tr>';
                        }
                            +'
                      </table>
                    </body>
                </html>';
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

    $headers .= 'To: '.$_SESSION['phone'].' <'.$to.'>' . "\r\n";
    $headers .= 'From: hameja123 <hameja123@hameja123.ir>' . "\r\n";
    mail($to, $subject, $message, $headers);
}
4

3 に答える 3

2

コードをそのような文字列に接合することはできません。また、+連結ではなく、追加用です。

行を事前計算してみてください。

$rows = "";
foreach($arr as $i) $rows .= "<tr><td>".$i."</td></tr>";

次に、次のように連結できます。

"...... ".$rows." .......";
于 2013-08-17T15:39:18.773 に答える
0

コードの一部を次のように変更します。

$data = '';
foreach ($arr as $i){
    $data .= '<tr><td>'.$i.'</td></tr>';
}
$message = '<html>
                <head>
                  <title>کد شارژ خریداری شده شما</title>
                </head>
                <body>
                  <p>از خرید شما متشکریم</p>
                  <table>
                    <tr>
                      <th>#شماره</th><th>کد شارژ</th>
                    </tr>
                    '.$data.'
                  </table>
                </body>
            </html>';

foreach インラインで文字列を挿入することはできません。

于 2013-08-17T15:39:01.013 に答える
0

使用禁止

foreach ($arr as $i){
                            echo '<tr><td>'.$i.'</td></tr>';
                        }

"$message=" ステートメント内。

代わりに、前にこれを行います $message = '<html>

$string='';
foreach($arr as $i)
$string = $string.'<tr><td>$i</td><tr>';

さて、$message= の中で、

これを行う:

<tr>
                          <th>#شماره</th><th>کد شارژ</th>
                        </tr>
                        $string
                      </table>
于 2013-08-17T15:40:42.197 に答える