2016-11-28 112 views
0

我凍結窗體上的所有字段,然後按下提交按鈕時發出郵件。郵件輸出處有土耳其字符問題。聯繫表格土耳其字符

contact.html

<div class="col-lg-6"> 
    <div class="well"> 
    <h3>İletişim Formu</h3> 
    <form role="form" id="contactForm" data-toggle="validator" class="shake"> 
     <div class="row"> 
      <div class="form-group col-sm-6"> 
       <label for="name">Ad Soyad</label> 
       <input type="text" class="form-control" id="name" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
      <div class="form-group col-sm-6"> 
       <label for="email">Email</label> 
       <input type="email" class="form-control" id="email" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="form-group col-sm-6"> 
       <label for="telefon">Telefon</label> 
       <input type="text" class="form-control" id="telefon" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
      <div class="form-group col-sm-6"> 
       <label for="konu">Konu</label> 
       <input type="text" class="form-control" id="konu" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="sektor">Sektör</label> 
      <select class="form-control" id="sektor" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <option value="Özel" selected="selected">Özel</option> 
       <option value="Projeci">Projeci</option> 
       <option value="Satıcı">Satıcı</option> 
       <option value="Uygulayıcı">Uygulayıcı</option> 
       <option value="Diğer">Diğer</option> 
      </select> 
     </div> 
     <div class="form-group"> 
      <label for="message">Mesajınız</label> 
      <textarea id="message" class="form-control" rows="5" placeholder="" required data-error="Lütfen bu alanı doldurun."></textarea> 
      <div class="help-block with-errors"></div> 
     </div> 
     <button type="submit" id="form-submit" class="btn btn-success btn-lg pull-right ">Gönder</button> 
     <div id="msgSubmit" class="text-center hidden"></div> 
     <div class="clearfix"></div> 
    </form> 
    </div> 
</div> 

形狀的script.js

$("#contactForm").validator().on("submit", function (event) { 
    if (event.isDefaultPrevented()) { 
     // handle the invalid form... 
     formError(); 
     submitMSG(false, "Tüm alanları doldurdunuz mu?"); 
    } else { 
     // everything looks good! 
     event.preventDefault(); 
     submitForm(); 
    } 
}); 


function submitForm(){ 
    // Initiate Variables With Form Content 
    var name = $("#name").val(); 
    var email = $("#email").val(); 
    var message = $("#message").val(); 
    var telefon = $("#telefon").val(); 
    var konu = $("#konu").val(); 
    var sektor = $("#sektor").val(); 

    $.ajax({ 
     type: "POST", 
     url: "php/form-process.php", 
     data: "name=" + name + "&email=" + email + "&telefon=" + telefon + "&konu=" + konu + "&sektor=" + sektor + "&message=" + message, 
     success : function(text){ 
      if (text == "success"){ 
       formSuccess(); 
      } else { 
       formError(); 
       submitMSG(false,text); 
      } 
     } 
    }); 
} 

function formSuccess(){ 
    $("#contactForm")[0].reset(); 
    submitMSG(true, "Message Submitted!") 
} 

function formError(){ 
    $("#contactForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){ 
     $(this).removeClass(); 
    }); 
} 

function submitMSG(valid, msg){ 
    if(valid){ 
     var msgClasses = "text-center tada animated text-success"; 
    } else { 
     var msgClasses = "text-center text-danger"; 
    } 
    $("#msgSubmit").removeClass().addClass(msgClasses).text(msg); 
} 

形狀process.php

<?php 

$errorMSG = ""; 

// NAME 
if (empty($_POST["name"])) { 
    $errorMSG = "Name is required "; 
} else { 
    $name = $_POST["name"]; 
} 

// EMAIL 
if (empty($_POST["email"])) { 
    $errorMSG .= "Email is required "; 
} else { 
    $email = $_POST["email"]; 
} 

// TELEFON 
if (empty($_POST["telefon"])) { 
    $errorMSG .= "Telefon is required "; 
} else { 
    $telefon = $_POST["telefon"]; 
} 

// KONU 
if (empty($_POST["konu"])) { 
    $errorMSG .= "Konu is required "; 
} else { 
    $konu = $_POST["konu"]; 
} 

// SEKTOR 
if (empty($_POST["sektor"])) { 
    $errorMSG .= "Sektor is required "; 
} else { 
    $sektor = $_POST["sektor"]; 
} 

// MESSAGE 
if (empty($_POST["message"])) { 
    $errorMSG .= "Message is required "; 
} else { 
    $message = $_POST["message"]; 
} 


$EmailTo = "[email protected]"; 
$Subject = "New Message Received"; 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $name; 
$Body .= "\n"; 
$Body .= "Email: "; 
$Body .= $email; 
$Body .= "\n"; 
$Body .= "Telefon: "; 
$Body .= $telefon; 
$Body .= "\n"; 
$Body .= "Konu: "; 
$Body .= $konu; 
$Body .= "\n"; 
$Body .= "Sektör: "; 
$Body .= $sektor; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $message; 
$Body .= "\n"; 

// send email 
$success = mail($EmailTo, $Subject, $Body, "From:".$email); 

// redirect to success page 
if ($success && $errorMSG == ""){ 
    echo "success"; 
}else{ 
    if($errorMSG == ""){ 
     echo "Something went wrong :("; 
    } else { 
     echo $errorMSG; 
    } 
} 

?> 

郵件輸出

Name: Ahmet 
Email: [email protected] 
Telefon: 05636588110 
Konu: üğ 
Sektör: Özel 
Message: üğiğ 
+1

你沒有爲郵件本身設置相關的Content-Type頭,只有From頭。 – CD001

回答

0

問題的解決方案。 Erol Keskin謝謝。

$success = mail($EmailTo, '=?utf-8?B?'.base64_encode($Subject).'?=', $Body, 'MIME-Version: 1.0' . "<br>".'Content-type: text/html; charset=utf-8' . "<br>".'From: '.$email . "\r\n"); 
0

嘗試增加charset參數到您的AJAX請求,就像這樣:

$.ajax({ 
    type: "POST", 
    url: "php/form-process.php", 
    data: "name=" + name + "&email=" + email + "&telefon=" + telefon + "&konu=" + konu + "&sektor=" + sektor + "&message=" + message, 
    contentType: "application/x-www-form-urlencoded;charset=UTF-8", 
    success : function(text){ 
     if (text == "success"){ 
      formSuccess(); 
     } else { 
      formError(); 
      submitMSG(false,text); 
     } 
    } 
}); 
+0

我試過了,但同樣的問題仍在繼續。 –

0

插入

<meta charset="utf-8"/> 

在你頭部的頂部。示例用法:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"/> 
    ...etc 
</head> 
... 
+0

我加了全部。但問題仍在繼續。 –

+0

kardeşimekledim ama sorun devam ediyor。 –

+0

$ success = mail($ EmailTo,'=?utf-8?B?'。base64_encode($ Subject)。'?=',$ Body,'MIME-Version:1.0'。「\ r \ n」。內容類型:text/html; charset = utf-8'。「\ r \ n」。'From:'。$ email。「\ r \ n」); bunu bir denermisin dostum –

-1

這是在電子郵件中輸出的,因此您需要在其中設置相關標題;目前您只設置From標題。

​​

查看附加頭部分:http://php.net/manual/en/function.mail.php

順便說一句,這取決於你可能需要調整你的行結束符的頭部字符串的郵件服務器 - 後綴希望他們是在格式與操作系統相關,因此在* nix系統上爲\n。這是不太可能打破任何東西,但...

+0

我已添加您發送的代碼。但問題仍在繼續。 –