2011-12-29 13 views
2

我是法語的(對不起英語),我正在尋找解決此問題的方法。 我做了一個女巫發送郵件給我在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-\.][email protected]([\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='[email protected]'; 
$sujet='Nouvel incrit JEIC CHALLENGE !'.$emailFrom; 
$msg='Message :'.$emailMessage; 
$mailHeader = "From = {$emailFrom}"; 
$mailBody = "Nom = {$emailName} Ecole = {$emailSchool}"; 

mail($to, $sujet, $msg, $mailBody , $mailHeader); 


?> 

問題是我收到的郵件中沒有「學校」字段。 也許有人有解決方案? 非常感謝。

回答

1

您正在定義:

$schoolVal=$POST['emailSchool']; 

並使用你的頭:

$emailSchool 
+0

我用{$ schoolVal}替換我的標題{$ emailSchool},但它似乎沒有改變任何東西。 – 2011-12-29 14:32:00

+0

你的任何值是否都到達PHP?因爲你使用'$ POST'而不是'$ _POST' – Niels 2011-12-29 14:51:00

+0

好吧!問題解決了,它工作! 非常感謝您的反應。 來自法國的歡呼聲。 – 2011-12-29 14:59:22

0

也許改變{$ emailSchool} {到$ schoolVal} ....

你混POST名字和當地人...

+0

對不起,我真的是一個小菜鳥。我遵循你的建議,但沒有任何變化。混合POST名稱和當地人的含義是什麼? 繼承人我的新代碼: '<?php $ nameVal = $ POST ['emailName']; $ emailFromVal = $ POST ['emailFrom']; $ messageVal = $ POST ['emailMessage']; $ schoolVal = $ POST ['emailSchool']; $to='[email protected]'; $ sujet ='Nouvel incrit JEIC CHALLENGE!'。$ emailFrom; $ msg ='消息:'。$ emailMessage; $ mailHeader =「From = {$ emailFrom}」; $ mailBody =「Nom = {$ emailName} Ecole = {$ schoolVal}」; ($ to,$ sujet,$ msg,$ mailBody,$ mailHeader); ?> ' – 2011-12-29 14:34:22