用脚本表格发送电子邮件

时间:2011-12-29 12:04:08

标签: php forms

我是法国人(抱歉英语),我正在寻找解决这个问题的方法。 我做了一个表格女巫发送邮件到我在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>

我的剧本:

$("#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);


?>

问题是我收到的邮件中没有“学校”字段。 也许有人有解决方案? 非常感谢。

2 个答案:

答案 0 :(得分:1)

您正在定义:

$schoolVal=$POST['emailSchool']; 

在标题中使用:

$emailSchool

答案 1 :(得分:0)

也许将{$ emailSchool}更改为{$ schoolVal} ....

您混合使用POST名称和本地人......