0 like 0 dislike

Sziasztok!

Egy weboldalon használok egy kapcsolatfelvételes dolgot, viszont rossz karakterkódolással érkezik meg az email. Valaki tud segíteni, hogy ez miért van?

<?php

// Check for empty fields
if(empty($POST['name']) ||
empty($
POST['email']) ||
empty($POST['phone']) ||
empty($
POST['message']) ||
!filtervar($POST['email'],FILTERVALIDATEEMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = $POST['name'];
$email
address = $POST['email'];
$phone = $
POST['phone'];
$message = $POST['message'];
// Create the email and send the message
$to = 'email@email'; // Add your email address inbetween the '' replacing yourname@yourdomain - This is where the form will send a message to.
$email
subject = "Website Contact Form: $name";
$emailbody = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $emailsubject\n\nTárgy: $phone\n\nMessage:\n$message";
$headers = "From: noreply@yourdomain\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.
$headers .= "Reply-To: $emailaddress";
mail($to,$email
subject,$email_body,$headers);
return true;
?>

$(function() {

$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
    preventSubmit: true,
    submitError: function($form, event, errors) {
        // additional error messages or events
    },
    submitSuccess: function($form, event) {
        event.preventDefault(); // prevent default submit behaviour
        // get values from FORM
        var name = $("input#name").val();
        var email = $("input#email").val();
        var phone = $("input#phone").val();
        var message = $("textarea#message").val();
        var firstName = name; // For Success/Failure Message
        // Check for white space in name for Success/Fail message
        if (firstName.indexOf(' ') >= 0) {
            firstName = name.split(' ').slice(0, -1).join(' ');
        }
        $.ajax({
            url: "././mail/contact_me.php",
            type: "POST",
            data: {
                name: name,
                phone: phone,
                email: email,
                message: message
            },
            cache: false,
            success: function() {
                // Success message
                $('#success').html("<div class='alert alert-success'>");
                $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
                    .append("</button>");
                $('#success > .alert-success')
                    .append("<strong>Az üzenetedet sikeresen elküldtük. </strong>");
                $('#success > .alert-success')
                    .append('</div>');

                //clear all fields
                $('#contactForm').trigger("reset");
            },
            error: function() {
                // Fail message
                $('#success').html("<div class='alert alert-danger'>");
                $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
                    .append("</button>");
                $('#success > .alert-danger').append("<strong>Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!");
                $('#success > .alert-danger').append('</div>');
                //clear all fields
                $('#contactForm').trigger("reset");
            },
        })
    },
    filter: function() {
        return $(this).is(":visible");
    },
});

$("a[data-toggle=\"tab\"]").click(function(e) {
    e.preventDefault();
    $(this).tab("show");
});

});

/*When clicking on Full hide fail/success boxes */
$('#name').focus(function() {
$('#success').html('');
});

kérdezve Ápr 26, 2016 Szerver oldali fejlesztés kategóriában kocsisdavid99 (13 pont) által

1 válasz

0 like 0 dislike
Legjobb válasz

Ha a szerver UTF8 és a PHP fájlok is UTF8-ak (azaz mindenhol minden stimmel), akkor a levél headerben add meg a levél fejlécének is:

'Content-Type:text/plain;charset=utf-8'

Azaz valami hasonló módon pl.:

$headerFields = array(
    "From: {$visitor_email}",
    "MIME-Version: 1.0",
    "Content-Type: text/html;charset=utf-8"
);
$mail_sent = mail($client_email, $title, $message, implode("\r\n", $headerFields));

Nyilván html vagy plain, ahogyan küldöd.

megválaszolva Ápr 26, 2016 dacr (92 pont) által
kiválasztott Ápr 26, 2016 kocsisdavid99 által

Köszönöm szépen!

Én köszönöm a pontot :)

A Veremcsere a Refaktor Magazinhoz kapcsolódó, barátságos kérdezz-felelek oldal, ahol felteheted a webfejlesztéssel és üzemeltetéssel kapcsolatos kérdésedet.

A részletekért olvasd el az üdvözlő postunkat!
Az oldal valamennyi tartalma a Creative Commons Attribution NonCommercial ShareAlike 3.0 licenc alatt érhető el.

Nincs kapcsolódó kérdés

67 kérdés
142 válasz
354 hozzászólás
113 felhasználó