0

こんにちは、php はまったく初めてです。contact.html がある Web サイトを持っています。名前、電子メール、保険の種類、件名、コメントを入力できるフォームがあります。送信ボタンをクリックすると、指定したメールに詳細が届きます。問題が特定できないようです。

ここにcontact.htmlのhtmlコードがあります

 <form id="ajax-contact-form">
        <div class="row">
            <div class="span4">
                <div class="form-padding">
                    <label for="f1">Your name(required):</label>
                    <input type="text" name="name" id="f1" class="form-text" value=""/>
                    <label for="f2">Insurance type:</label>
                    <input type="text" name="category" id="f2" class="form-text" value="" size="40"/>
                </div>
            </div>
            <div class="span4">
                <div class="form-padding">
                    <label for="f3">Your email(required):</label>
                    <input type="text" name="email" id="f3" class="form-text" value="" size="40"/>
                    <label for="f4">Subject:</label>
                    <input type="text" name="subject" id="f4" class="form-text" value="" size="40"/>        
                </div>
            </div>
        </div>
        <div class="row">
            <div class="span8">
                <div class="form-padding">
                    <label for="f5">Message(required):</label>
                    <textarea name="message" id="f5" cols="40" rows="10"></textarea>    
                </div>
            </div>
        </div>
                    <!-- send mail configuration -->
                    <input type="hidden" value="myemail@gmail.com" name="to" id="to" />
                    <input type="hidden" value="myemail@gmail.com" name="from" id="from" />
                    <input type="hidden" value="From contact form" name="subject" id="subject" />
                    <input type="hidden" value="send-mail.php" name="sendMailUrl" id="sendMailUrl" />
                    <!-- ENDS send mail configuration -->               
                    <p><input type="button" class="button red small" value="Submit Form" name="submit" id="submit" /></p>
        </form>

そして私のSEND-MAIL.PHP

    <?php
        //vars
        $subject = $_POST['subject'];
        $to = explode(',', $_POST['to'] );

        $from = $_POST['email'];

        //data
        $msg = "NAME: "  .$_POST['f1']    ."<br>\n";
        $msg .= "INSURANCE: "  .$_POST['f2']    ."<br>\n";
        $msg .= "EMAIL: "  .$_POST['f3']    ."<br>\n";
        $msg .= "SUBJECT: "  .$_POST['f4']    ."<br>\n";
        $msg .= "COMMENTS: "  .$_POST['f5']    ."<br>\n";

        //Headers
        $headers  = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=UTF-8\r\n";
        $headers .= "From: <".$from. ">" ;


        //send for each mail
        foreach($to as $mail){
           mail($mail, $subject, $msg, $headers);
        }

        ?>

私のJS関数

// contact form
$("#ajax-contact-form").submit(function() {
var str = $(this).serialize();
    $.ajax({
    type: "POST",
    url: "send-mail.php",
    data: str,
    success: function(msg) {
        if(msg == 1) {
            result = '<div class="alert success fade in">Your message has been sent. Thank you!<a href="#" class="close-alert" data-dismiss="alert"></a></div>';
            $("#ajax-contact-form").hide();
        } else {result = msg;}
        $('#form-message').hide();
        $('#form-message').html(result);
        $('#form-message').fadeIn("slow");
        }
    });
return false;
});

私の質問

  1. エラーが発生したようで、メールを送信できません。私は素朴です。どんな助けでも大歓迎です。

  2. 送信ボタンをクリックした後に成功メッセージを表示する方法。

ありがとう

4

1 に答える 1

1

フォームの開始タグを完成させる必要があるかもしれません

<form id="ajax-contact-form" method="POST" action="send-mail.php">

Ajaxを使用していない限り、質問にajaxコードを提供する必要があります。

于 2013-03-08T01:25:41.510 に答える