NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Kontaktní formulář - UTF8

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
JaKr
Člen
Avatar
JaKr:12.10.2017 17:37

Ahoj,
prošel jsem snad všechny témata týkající se kontaktních formulářů zde na fóru, ale žádný mi nepomohl natolik, abych svůj formulář rozběhl, tak jak bych potřeboval. Formulář, který je udělaný v PHP 8. kapitole mi na webu nefunguje, nevím proč, ale našel jsem si jiný formulář, který jsem implementoval na web.
Data se normálně odešlou, ale ve zprávě v mailu se nezobrazí háčky a čárky...
Zkoušel jsem různě vložit deklaraci UTF-8, ale nikdy se mi to nepovedlo, aby to fungovalo. Používám tento kód, máte někdo nějaké tipy?

Předem díky za odpověď,
JaKr

<?php
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
Mail("[email protected]", $predmet, $zprava, "From: " . $email);
}
?>
 
Odpovědět
12.10.2017 17:37
Avatar
Odpovídá na JaKr
Lukáš Křehula:12.10.2017 18:08

Zkoušel jsi nastavit kódování UTF-8 do hlavičky mailu?
Resp. zkus tohle:

$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
$hlavicka = 'MIME-Version: 1.0' . "\r\n";
$hlavicka .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$hlavicka .= "From: ". $email;
if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
Mail("[email protected]", $predmet, $zprava, $hlavicka);
}
Editováno 12.10.2017 18:09
 
Nahoru Odpovědět
12.10.2017 18:08
Avatar
JaKr
Člen
Avatar
Odpovídá na Lukáš Křehula
JaKr:12.10.2017 21:27

Teď už mám obsah emailu správně s háčky, ale předmět mailu je pořád bez háčků a čárek. :-/

 
Nahoru Odpovědět
12.10.2017 21:27
Avatar
Odpovídá na JaKr
Lukáš Křehula:12.10.2017 21:30

Taky jsem se s tímhle problémem setkal, a docela dlouho mi trvalo, než jsem přišel na řešení. :-) Zkus tohle:

$predmet = '=?utf-8?B?'.base64_encode($_POST["predmet"]).'?=';
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
12.10.2017 21:30
Avatar
JaKr
Člen
Avatar
Odpovídá na Lukáš Křehula
JaKr:12.10.2017 21:38

Paráda, už to funguje správně, na to bych sám opravdu nepřišel. Děkuji moc a přeju pěkný večer! :-)

 
Nahoru Odpovědět
12.10.2017 21:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.