1

ユーザーが必要な各項目をチェックしてから、選択した電子メールに電子メールを送信できるチェックリストを作成しようとしています。私は JQueryMobile を使用していますが、それが問題を引き起こしているかどうかはわかりませんが、送信を押すとページが継続的にロードされ続けます。

これは私のHTMLコードです:

<form name="emailform" enctype="multipart/form-data" action="form-to-email.php" method="post">
  <div data-role="fieldcontain">
  <label for='name'>Festival name: </label><br>
  <input type="text" name="name">
   <h3>
   Essentials
   </h3>


   <fieldset data-role="controlgroup" data-type="vertical">
    <legend>
    </legend>
    <input name="checkbox1" id="checkbox1" type="checkbox" />
    <label for="checkbox1">
    Tickets
    </label>
    <input name="checkbox2" id="checkbox2" type="checkbox" />
    <label for="checkbox2">
    Parking pass
    </label>
    <input name="checkbox3" id="checkbox3" type="checkbox" />
    <label for="checkbox3">
    Directions
    </label>
    <input name="checkbox4" id="checkbox4" type="checkbox" />
    <label for="checkbox4">
    Cash &amp; Cards
    </label>
    <input name="checkbox5" id="checkbox5" type="checkbox" />
    <label for="checkbox5">
     Keys
    </label>
    </fieldset>

     <label for='email'>Send to Email:</label><br>
     <input type="text" name="email">

     <input name="share" type="submit" value="Share">

     </form>

そして、これは私のPHPです:

    <?php
    if(!isset($_POST['submit'])){
    if (!$_POST['name'] | !$_POST['email']) 
    {
    echo"<div class='error'>Error<br />You did not fill in a required field, please       review your form and correct the missing information.</div>";
    }
    }
    $name = $_POST['name'];
    $email = $_POST['email'];
    $checkbox1 = $_POST['checkbox1'];

    $email_from = "Application";
    $email_subject = $name;
    $email_body = "You have received a new checklist via App.\n".
    "Here is the checklist so far:\n $checkbox1".

    $headers = "From: $email_from \r\n";
    mail($email, $email_subject,$email_body,$headers);
    header('Location: index.html');

    ?>
4

2 に答える 2

0

AJAXを介してjQueryと通信する必要があると思います。その場合、ヘッダーを送信しないでください。また、チェックボックスの値はTRUE / FALSEであるため、

「アプリ経由で新しいチェックリストを受け取りました。」「これまでのチェックリストは次のとおりです:」。

于 2012-12-04T12:39:21.477 に答える
0

localhost からメールを送信しようとしている場合、デフォルトではメール設定がないため、間違いなくこのエラーに直面します。ただし、コンピューターにテスト メール サーバーをインストールして、localhost からのメールをテストすることができます。

ライブ サーバーからメールを送信する場合は、次のチュートリアルに従って、コードにある可能性のある問題を解決する必要があります: http://www.w3schools.com/php/php_mail.asp

于 2012-12-04T12:26:53.707 に答える