PHP formulář diakritika Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

854005
Level 2
Level 2
Příspěvky: 241
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

PHP formulář diakritika  Vyřešeno

Příspěvekod 854005 » 06 pro 2014 14:04

Dobré odpoledne, rád bych Vás tu, spoludiskutující, požádal o pomoc. Téma mého problému je zcela klasické, jedná se totiž o diakritiku ve formuláři, který se posílá z webu přes PHP. Než mi začnete nadávat, že to tu bylo již stokrát, tak bych rád upozornil, že jsem si vyhledal několik návodů a taky vyzkoušel, nicméně mi ani jeden nefungoval. Proto bych potřeboval poradit, co dělám blbě. Povedlo se mi nakódovat Předmět, ale tělo zprávy ne. Kódování stránky Windows 1250 (a nerad bych ho měnil, protože mi UTF nikdy nefunguje tak, jak má).

Kód: Vybrat vše


<?php
$mail 
= 'adresa@domena.koncovka';
$predmet = 'ěščřžýáíé46';
$encodedsubject = base64_encode ($predmet);
$predmet = "=?windows-1250?B?$encodedsubject?=\r\n";
$zprava = "e-mail: $Email".PHP_EOL."\n";
$zprava .= "Příjmení: $Prijmeni".PHP_EOL."\n";
$zprava .= "Jméno: $Jmeno".PHP_EOL."\n";
$zprava .= "Titul: $Titul".PHP_EOL."\n";
$zprava .= "Datum narození: $Datum_narozeni".PHP_EOL."\n";
$zprava .= "Číslo OP: $Cislo_OP".PHP_EOL."\n";
$zprava .= "Název pracoviště: $Nazev_pracoviste".PHP_EOL."\n";
$zprava .= "Adresa pracoviště: $Adresa_pracoviste".PHP_EOL."\n";

// atd. další položky $.zprava

 
if 
(mail($mail, $predmet, $zprava))
{
    echo 'E-mail byl úspěšně odeslán.<br>';
}
else
{
    echo 'E-mail se bohužel nepodařilo odeslat.<br>';
}
?>


Prozatím děkuji.

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP formulář diakritika

Příspěvekod CZechBoY » 07 pro 2014 02:38

Zdravím,
no určitě jste přečetl hodně návodů, ale žádný jste nepoužil ... :-/

Zkuste to takhle

Kód: Vybrat vše

<?php
$mail 
= 'adresa@domena.koncovka';
$predmet = 'ěščřžýáíé46';
$encodedsubject = base64_encode ($predmet);
$predmet = "=?windows-1250?B?" . $encodedsubject . "?=\r\n";
$zprava = "e-mail: " . $Email . "\r\n";
$zprava .= "Příjmení: " . $Prijmeni . "\r\n";
$zprava .= "Jméno: " . $Jmeno . "\r\n";
$zprava .= "Titul: " . $Titul . "\r\n";
$zprava .= "Datum narození: " . $Datum_narozeni . "\r\n";
$zprava .= "Číslo OP: " . $Cislo_OP . "\r\n";
$zprava .= "Název pracoviště: " . $Nazev_pracoviste . "\r\n";
$zprava .= "Adresa pracoviště: " . $Adresa_pracoviste . "\r\n";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=windows-1250\r\n";

// atd. další položky $.zprava

 
if 
(mail($mail, $predmet, $zprava, $headers))
{
    echo 'E-mail byl úspěšně odeslán.<br>';
}
else
{
    echo 'E-mail se bohužel nepodařilo odeslat.<br>';
}

 
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

854005
Level 2
Level 2
Příspěvky: 241
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář diakritika

Příspěvekod 854005 » 07 pro 2014 16:51

Takhle jo. Jenže žádný návod nemyslí na blbce a když přidám pouze

Kód: Vybrat vše


$headers 
= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=windows-1250\r\n";
 

tak to nejde.

Už se nikde nepsalo, že tam nemá být $zprava = "e-mail: $Email".PHP_EOL."\n";

ale

$zprava = "e-mail: " . $Email . "\r\n";

Takže zádrhel byl ne v hlavičce, ale v těch tečkách a uvozovkách v těle zprávy.


Tedy děkuji ještě jednou.

--- Doplnění předchozího příspěvku (07 Pro 2014 17:06) ---

Ještě dodatek: kdybych nezkoušel návody, asi bych neměl nakódovaný předmět, ne? :-)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP formulář diakritika

Příspěvekod CZechBoY » 07 pro 2014 18:52

Bez těch headers ti to fakt funguje?
Ta konkatenace stringů je vesměs jedno v tomhle případě...
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

854005
Level 2
Level 2
Příspěvky: 241
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář diakritika

Příspěvekod 854005 » 08 pro 2014 05:29

Bez headers to funguje, ale ne česky.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP formulář diakritika

Příspěvekod CZechBoY » 10 pro 2014 12:55

Takže když se to odešle v češtině tak email přijde v angličtině?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

854005
Level 2
Level 2
Příspěvky: 241
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář diakritika

Příspěvekod 854005 » 10 pro 2014 21:13

No když zkopíruju ten Váš skript do puntíku přesně, tak to již samozřejmě přijde v pořádku česky :).

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP formulář diakritika

Příspěvekod CZechBoY » 11 pro 2014 11:12

No a kde je problém?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

854005
Level 2
Level 2
Příspěvky: 241
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: PHP formulář diakritika

Příspěvekod 854005 » 13 pro 2014 16:19

Problém jako takový nikde, jen jsem si chtěl najít, kde jsem dělal chybu, abych už to příště věděl :-). Nic víc.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Kontaktní formulář
    od webovynadsenec » 30 črc 2024 02:31 » v Programování a tvorba webu
    2
    2534
    od HelFix Zobrazit poslední příspěvek
    30 črc 2024 09:07

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host