0

私は3つのphpページを持っています。最初は、チェックボックスで選択されたオプションを含むselection.phpページです。送信時に、オプションと結果を送信するための電子メールフィールド(オプション)が表示されます。問題は電子メールメッセージの形式にあります。コード、電子メールの結果、および理想的な出力については、以下を参照してください。誰かの助けと時間に感謝します!

selection.php

    $sqlSAT1 = "SELECT * FROM bandSched WHERE day='saturday' AND stage='stage 1'";
    $sqlSAT2 = "SELECT * FROM bandSched WHERE day='saturday' AND stage='stage 2'";  
    $sqlSAT3 = "SELECT * FROM bandSched WHERE day='saturday' AND stage='stage 3'"; 

    mysql_query($sqlSAT1); 
    $result = mysql_query($sqlSAT1);

    while($row = mysql_fetch_array($result))
    {
    echo "<ul><li>";
    echo'<input type="checkbox" name="id[]" value="'.$row['id'].' " id="bandSched_' . $row['id'] . '" />';
    echo '<label for="bandSched_' . $row['id'] . '">' . $row['timeShow']." ".$row['bandName'] . '</label>'; 
    echo "</li></ul>";

    }


    ?>

results.php

       <?php
      if ( ! empty($_POST['id']))
    { foreach($_POST['id'] as $key => $id) { $_POST['id'][$key] = mysql_real_escape_string($_POST['id'][$key]); } 
    $in = implode(', ', $_POST['id']); 

    $sqlSAT1 = "SELECT * FROM bandSched WHERE day='saturday' AND stage='stage 1' AND id IN ($in) ORDER BY FIELD(id, $in)"; 

    $result = mysql_query($sqlSAT1) or die('MySQL Error ' . mysql_errno() . ': ' . mysql_error()); 
    }
    if ( ! isset($result))
    {
    echo 'You did not select anything';
    }
    else
    {
      while ($row=mysql_fetch_assoc($result))
    {   

    echo "<tr>";
    echo "<td>". $row['timeShow'] ."</td><td>" . $row['bandName'] . "</td>";
    echo "</tr>";
    }

    }

    ?>

およびEmailProcess.php

        <?php
    $to = $_POST["email"];
    $subject = "This is subject";
    $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
            $headers .= "From:abc@somedomain.com \r\n";
    foreach($_POST as $key => $value){
    if(!(!isset($value))){$set=1;}
    if(is_array($value)){
    $message = $message . "$key: ".implode( ', ', $value)."\n\n";
    } else {
    $message = $message . "$key: $value\n\n";
    }
    }
    $retval = mail ($to,$subject,$message,$headers);
    if( $retval == true )  
    {
    echo "Message sent successfully...";
    }
    else
    {
    echo "Message could not be sent...";
    }?>

最後に、これは結果を含む実際の電子メールがどのように見えるかです-

    divcontent:

    <div class=\"saturdaySched full_width light_gray\">
    <div style=\"padding:20px\">

    <h2>SATURDAY</h2>

    <div id=\"stage1sat\" class=\"stageBox\">
    <h3>STAGE 1</h3>
    <table>
    <tbody><tr><td>11:30</td><td>G.Wizz</td></tr><tr><td>12:20</td><td>Sideshow Tramps</td></tr><tr><td>1:40</td><td>Clap Your Hands
    Say Yeah</td></tr>        </tbody></table>
    </div>



    <div id=\"stage2sat\" class=\"stageBox\">

    <h3>STAGE 2</h3>
    <table>

    <tbody><tr><td>12:00</td><td>The Wheel Workers</td></tr><tr><td>2:20</td><td>Starfucker</td></tr><tr><td>3:40</td><td>Phantogram</td></tr>

理想的な電子メール形式は、リスト(または同様のもの)のように単純である可能性があります

Stage 1- band1 2:30
Stage 1- band5 3:30
Stage 2- band4 3:10
etc...
4

1 に答える 1

1

メールの送信中に次のヘッダーを追加します。

$headers .= "MIME-Version: 1.0\r\n";

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

于 2012-05-21T05:39:29.283 に答える