表单电子邮件与脚本


Form emailing with script

我是法国人(对不起英语),我正在寻找解决这个问题的方法。我创建了一个表单,将邮件发送到我在contact.php文件中指定的地址。问题是我收到的邮件不包含"emailSchool"变量。

以下是我的一些文件:

我的html文件:
<div id="formulaire">
<form id="myForm" action="contact.php" method="post">
    <label for="emailName">Nom et prénom:</label>
    <input name="emailName" type="text" id="emailName"/>
    <label for="emailFrom">Email:</label>
    <input name="emailFrom" type="text" id="emailFrom"/>
    <label for="emailSchool">Ecole :</label>
    <input name="emailSchool" type="text" id="emailSchool"/>
    <label for="emailMessage">Message: (optionnel)</label>
    <textarea name="emailMessage" cols="30" rows="9"  id="emailMessage"></textarea>
    <input style="padding-left:5px; width:80px; height:32px;"  type="image" src="images/send.png" id="submit" class="submit" alt="ENVOYER"/>
    <input type="hidden" name="submitted" id="submitted" value="true" />
</form>

My script:

$("#submit").click(function(){                                     
    var hasError = false;
    var emailReg = /^(['w-'.]+@(['w-]+'.)+['w-]{2,4})?$/;
    var emailFromVal = $("#emailFrom").val();
    if(emailFromVal == '') {
        $("#emailFrom").addClass("error");
        hasError = true;
    } else if(!emailReg.test(emailFromVal)) {   
        $("#emailFrom").addClass("error");
        hasError = true;
    }
    else
    {
        $("#emailFrom").removeClass("error");
    }
    var nameVal = $("#emailName").val();
    if(nameVal == '') {
        $("#emailName").addClass("error");
        hasError = true;
    }
    else
    {
        $("#emailName").removeClass("error");
    }

        var schoolVal = $("#emailSchool").val();
    if(schoolVal == '') {
        $("#emailSchool").addClass("error");
        hasError = true;
    }
    else
    {
        $("#emailSchool").removeClass("error");
    }
    var messageVal = $("#emailMessage").val();
    if(messageVal == '') {
        $("#emailMessage").addClass("error");
        hasError = true;
    }
    else
    {
        $("#emailMessage").removeClass("error");
    }

    if(hasError == false) {
    $(this).hide();
    $("#myForm").fadeOut("fast", function(){
        $("#myForm").before('<img src="images/loading.gif" alt="Loading" id="loadingImage" />');
        $.post("contact.php", { emailFrom: emailFromVal, emailName: nameVal, emailSchool: schoolVal, emailMessage: messageVal },
            function(data){
                $("#loadingImage").fadeOut("fast", function() {                
                    $("#loadingImage").before('<p>Votre inscription a bien &eacute;t&eacute; pris en compte, nous vous enverrons un email pour confirmer !</p>');                                            
                });
            }
         );        
    });
}

    return false;
}

和我的。php文件:

<?php
$nameVal=$POST['emailName']; 
$emailFromVal=$POST['emailFrom']; 
$messageVal=$POST['emailMessage']; 
$schoolVal=$POST['emailSchool']; 
$to='mymail@gmail.com';
$sujet='Nouvel incrit JEIC CHALLENGE !'.$emailFrom;
$msg='Message :'.$emailMessage;
$mailHeader = "From = {$emailFrom}"; 
$mailBody = "Nom = {$emailName} Ecole =  {$emailSchool}";
mail($to, $sujet, $msg, $mailBody , $mailHeader);

?>

问题是我收到的邮件中没有"学校"字段。也许有人有解决办法?非常感谢。

您正在定义:

$schoolVal=$POST['emailSchool']; 

并在标题中使用:

$emailSchool

可以将{$emailSchool}改为{$schoolVal} ....