Formularz kontaktowy php - polskie znaki


(skrzek) #1

mam na stronie formularz kontaktowy, niestety ja go nie napisałem, gdyż niewiele wiem o tworzeniu stron :frowning: i chodzi o to, że w wiadomościach brak jest polskich liter (ąęźż...) zmieniłem w nim kodowanie, ale problem jest nadal. Pomożecie poprawić ten kod:

<?php


	$adres="adres e-mail";

	$temat="Zapytanie ze strony";

	$tresc=$_POST['tresc'];


	$nag="From: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email'].">

	Reply-To: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email']."> 

	X-Mailer: PHP

	X-Priority: 1

	Return-Path: <".$_POST['adres_email'].">

	Content-type: text/plain; charset=utf-8";


	mail($adres,$temat,$tresc,$nag);


	echo "";


?>

(Anddezr+Dobreprogramy Pl) #2

Troche nagłówek miałeś błędny. Zamiast starego daj to:

$nag = "Return-Path:<".$_POST['adres_email'].">\n";

 $nag .= "Reply-To: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email'].">\n";

 $nag .= "From: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email'].">\n";

 $nag .= "MIME-Version: 1.0\n";

 $nag .= "Content-Type: text/plain;charset=utf-8\n";

 $nag .= "Content-Transfer-Encoding: 8bit\n";

 $nag .="X-Mailer: PHP/" . phpversion();

Teraz powinny być polskie znaki.


(skrzek) #3

hmm... coś nie działa, po kliknięciu wyślij, mam:

Parse error: syntax error, unexpected ':' in /home/xxx/ftp/wyslij.php on line 14

aktualnie wygląda to tak (może coś źle wstawiłem???)

<?php


	$adres="xxx@xxx.pl";

	$temat="Zapytanie ze strony";

	$tresc=$_POST['tresc'];


	$nag = "Return-Path:<".$_POST['adres_email'].">\n";

	$nag .= "Reply-To: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email'].">\n";

	$nag .= "From: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email'].">\n";

	$nag .= "MIME-Version: 1.0\n";

	$nag .= "Content-Type: text/plain;charset=utf-8\n";

	$nag .= "Content-Transfer-Encoding: 8bit\n";

	$nag .="X-Mailer: PHP/" . phpversion();

	Reply-To: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email']."> 

	X-Mailer: PHP

	X-Priority: 1

	Return-Path: <".$_POST['adres_email'].">

	Content-type: text/plain; charset=utf-8";


	mail($adres,$temat,$tresc,$nag);


	echo "";


?>

(Anddezr+Dobreprogramy Pl) #4

Czytałeś co napisałem w poprzednim poście.

Zobacz gdzie u Ciebie się zaczyna i kończy nagłówek.


(skrzek) #5

przepraszam, ale czy był byś w stanie podać kompletny kod, poprostu w ogóle nie orientuję się, która część to nagłówek :frowning: zamieniłem tylko to co miało $nag


(Anddezr+Dobreprogramy Pl) #6
<?php


   $adres="adres e-mail";

   $temat="Zapytanie ze strony";

   $tresc=$_POST['tresc'];


$nag = "Return-Path:<".$_POST['adres_email'].">\n";

$nag .= "Reply-To: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email'].">\n";

$nag .= "From: ".$_POST['imie_i_nazwisko']." <".$_POST['adres_email'].">\n";

$nag .= "MIME-Version: 1.0\n";

$nag .= "Content-Type: text/plain;charset=utf-8\n";

$nag .= "Content-Transfer-Encoding: 8bit\n";

$nag .="X-Mailer: PHP/" . phpversion();


   mail($adres,$temat,$tresc,$nag);


   echo "";


?>

(skrzek) #7

hmmm... wstawiłem tak jak podałeś (dzięki), maile lecą, tylko jest tak w polu nadawca wszystko ok - są polskie znaki i małe i wielkie, ale w traści wiadomości usuwa wszystkie polskie znaki i wygląda to tak: piszę np. "cięcie" a dostaję "cicie" bez litery ę


(Anddezr+Dobreprogramy Pl) #8

U mnie wszystko działa, w kontakt.html masz ustawiony odpowiedni charset w meta (utf8)

oraz pliki zapisane w utf8 (notepad++ - menu /format/convert to utf8 without boom, encode in utf8 without boom)?


(skrzek) #9

narazie nie udało mi się go zmusić do pracy (ustawiałem w notepad++ tak jak podałeś)... więc pewnie pozostaje metoda prób i błędów i kurs tworzenia formularzy