php krzaczki w formularzu kontkatowym

php krzaczki w formularzu kontkatowym
Michał Pieczyński
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
0
Kopiuj
<?php
header('Content-Type: text/html; charset=utf-8');
$message_sent = false;

if(isset($_POST['email']) && $_POST['email'] != ''){
    if( filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ){
      //submit the form
      $userName = $_POST['name'];
      $userEmail = $_POST['email'];
      $messageSubject = $_POST['subject'];
      $message = $_POST['message'];
  
      $to = "design@michalpieczynski.pl";
      $body = "";
  
      $body .= "From: ".$userName. "\r\n";
      $body .= "Email: ".$userEmail. "\r\n";
      $body .= "Message: ".$message. "\r\n";
  
      mail($to,$messageSubject,$body);	
      
      $message_sent = true;
      echo('Wiadomość została wysłana'); 
      header( "refresh:3;url=kontakt.html" );
  }
}
?>

Mam taki formularz kontkatowy w php i wychodzą krzaczki jak dostaje wiadomość, Co zrobić żeby były polskie znaki a nie krzaczki?

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3604
1

Spróbuj do wiadomości dodać odpowiednie nagłówki.
Coś w stylu:

Kopiuj
$headers = [];
$headers[] = "Content-Type: text/plain; charset=UTF-8";
$headers[] = "From: {$userName} <{$userEmail}>";
$headers[] = "Reply-To: {$userEmail}";

$result = mail(
            $to,
            $encodedSubject,
            $body,
            implode("\r\n", $headers)
        );

Zwróć uwagę też na zmienna $result w tym kodzie.
Wykorzystaj ją do sprawdzenia czy wynik to naprawdę wysłanie wiadomości a nie błąd.
Dokumentacja:
https://www.php.net/manual/en/function.mail.php

L7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 435
1

@Michał Pieczyński - masz tutaj błąd logiczny:

Kopiuj
echo('Wiadomość została wysłana'); 
header( "refresh:3;url=kontakt.html" );

Wyrzuci "warning". A poza tym, po co wyświetlasz to na stronie, która wysyła email? Wyświetl tą wiadomość na stronie kontakt.html
Podobnie z header na górze - jeżeli nic nie "echujesz" to niepotrzebny jest Tobie ten header (chyba, że to nie jest cały kod)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.