联系表土耳其语

时间:2016-11-28 11:10:21

标签: php html special-characters contact-form

我冻结表单上的所有字段,然后在按下提交按钮时发出邮件。邮件输出中存在土耳其字符问题。

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 = "simple@mail.com";
$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: ahmetcadi@gmail.com
Telefon: 05636588110
Konu: üğ
Sektör: Özel
Message: üğiğ

4 个答案:

答案 0 :(得分:0)

尝试将charset参数添加到您的AJAX请求中,如下所示:

public class SplashActivity extends AppCompatActivity {


    private String user_id = "";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        // Here I get NoClassDefFoundError
        user_id = SharedStorage.getValue(getApplicationContext(),"UserId");



        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {

                if(user_id != null && !user_id.isEmpty()){
                    startActivity(new Intent(SplashActivity.this, HomeActivity.class));
                    finish();
                }else{
                    startActivity(new Intent(SplashActivity.this, MainActivity.class));
                    finish();
                }
            }
        }, 3000);

    }
}

答案 1 :(得分:0)

插入

<meta charset="utf-8"/>

位于Head部分的顶部。用法示例:

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

答案 2 :(得分: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");

答案 3 :(得分:-1)

这是在电子邮件中输出的,因此您还需要在那里设置相关标题;目前您只设置"Finish date <= Start date + 1 year" 标题。

From

请参阅其他标题http://php.net/manual/en/function.mail.php

部分

顺便说一句,根据邮件服务器的不同,您可能需要在标题字符串中调整行终止符--Postfix期望它们采用与操作系统相关的格式,因此* nix系统上的// send email $success = mail( $EmailTo, $Subject, $Body, "From: {$email}\r\nContent-Type: text/plain;charset=utf8" ); 不太可能打破任何东西,但......