Autor | Zpráva | ||
---|---|---|---|
Pepsina Profil * |
#1 · Zasláno: 22. 2. 2012, 15:17:58
[pre][/pre]Dobrý den,
vím, že už se to tady řešilo mnohokrát, ale kamarád mě požádal, jestli bych mu posli.php neupravil, že mu jde špatně kodovaní. řikal jsem si, že to bude v poho, ale to co on má udělané, tak tohle jsem neviděl a nevím jak do toho zakomponovat kodovani. Jsem velký amatér na PHP, tak snad mi tady poradíte co tam třeba přidat. Díval jsem se na tenhle odkaz, ale z toho moc moudrý nejsem. Zde je výňatek z posli.php <?php $POST=$_POST; if ($POST["soucet"]=="2" or $POST["soucet"]=="dve" or $POST["soucet"]=="dva" or $POST["soucet"]=="dvě") { $mail="Kontaktní formulář: <br><br><b>Jméno:</b> ".$POST["jmeno"]."<br><b>Příjmení:</b> ".$POST["prijmeni"]."<br><b>Firma:</b> ".$POST["firma"]."<br><b>Email:</b> ".$POST["email"]."<br><b>Vzkaz:</b> ".$POST["vzkaz"]; $headers = 'From: formular' . "\r\n" .'Content-type: text/html; charset=windows-1250'; mail("aaa@seznam.cz","KONTAKTNÍ FORMULÁŘ / ",$mail,$headers); ?> <HTML> <HEAD> <meta http-equiv="Content-Language" content="en-us"> <TITLE> Potvrzení </TITLE> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="style.css" /> <link rel="shortcut icon" href="images/favicon.ico"> </HEAD> <BODY BGCOLOR="#FFFFFF" topmargin="0" leftmargin="0"> <center> <br><br> <align="center"> <font color="#000000" face="Tahoma" size="2"><b><u>DĚKUJEME</u></b></font><br><br> <align="center"> <font color="#000000" face="Tahoma" size="1">Děkujeme za Váš zájem o naše služby.<br> Na základě Vámi zaslané objednávky našich služeb, Vás budeme v co nejkratší době telefonicky, nebo e-mailem kontaktovat. <br><br> V případě, že tak neučiníme do pěti pracovních dnů, nás prosíme kontaktujte telefonicky.<br> Děkujeme za pochopení a spolupráci :-D</font><br><br> <a href=''onClick='window.close()'><center><font color="#000000" face="Tahoma" size="2"><b><u>ZAVŘÍT OKNO</u></b></center></a> <br><br> <a href="http://www.aaa.cz/kontakt.html"><center><FONT COLOR="#000000" face="Tahoma" size="2"><b><u>ZPĚT na stránku KONTAKT</u></b></center></a><br><br> </BODY> </HTML> <? } else { ?> <HTML> <HEAD> <meta http-equiv="Content-Language" content="en-us"> <TITLE>Upozornění !!!</TITLE> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <link rel="stylesheet" type="text/css" href="style.css" /> <link rel="shortcut icon" href="images/favicon.ico"> </HEAD> <BODY BGCOLOR="#FFFFFF" topmargin="0" leftmargin="0"> <center> <br><br> <align="center"> <font color="#000000" face="Tahoma" size="2"><b><u>FORMULÁŘ NEBYL ODESLÁN !</u></b></font><br><br> <align="center"> <font color="#000000" face="Tahoma" size="1">Bohužel jste špatně spočítali ověřovací příklad ve formuláři - můžete to zkusit znovu návratem zpět na formulář.</font><br><br> <a href='javascript:self.history.back();'><center><font color="#000000" face="Tahoma" size="2"><b><u>ZPĚT</u></b></font></center></a> <br><br><br> </BODY> </HTML> <? } ?> A zde je formulář: <form action="form_send3.php" method="post" class="formular_ff"> <fieldset style="height: 348px; width:450px;" class="formular"> <legend><font color="#6d6c6c"><b>Kontaktní formulář</b></font></legend><br> <label for="jmeno"><font color="#ac8739">Jméno:</font></label><br /> <input type="text" size="20" id="jmeno" name="jmeno" class="jmeno" /><br> <label for="jmeno">Příjmení:</label><br /> <input type="text" size="40" id="prijmeni" name="prijmeni" class="prijmeni" /><br> <label for="jmeno">Název firmy / společnosti:</label><br /> <input type="text" size="40" id="firma" name="firma" class="firma" /><br> <label for="jmeno">Email:</label><br /> <input type="text" size="40" id="email" name="email" value="@" class="email" /><br> <label for="vzkaz">Vzkaz:</label><br /> <textarea id="vzkaz" cols="59" rows="4" name="vzkaz" class="vzkaz"></textarea> <br>Prosíme vyplňte (Ochrana proti SPAMU): Kolik je jedna plus jedna? <input type="text" size="1" id="soucet" name="soucet" class="soucet" /> <input type="submit" value="Odeslat"> <input type="reset" value="Vymaž"> </fieldset> </form> Budu moc rád, když mi poradíte. |
||
Keeehi Profil |
#2 · Zasláno: 22. 2. 2012, 15:20:08
Na řádku 6 máte napsáno windows-1250, na řádku 15 utf-8. Musíte se rozhodnout.
|
||
Pepsina Profil * |
#3 · Zasláno: 22. 2. 2012, 15:35:32
Jej toho jsem si nevšiml, ale i když dám windows a nebo utf tak se to pořád špatně zobrazuje :-/
|
||
Rellik Profil |
#4 · Zasláno: 22. 2. 2012, 16:24:18
Bylo by dobré podívat se i sem Nejčastější potíže s PHP (FAQ) Tam jsou řešení nejčastějších chyb... ;-)
|
||
Pepsina Profil * |
#5 · Zasláno: 22. 2. 2012, 21:02:01
Rellik:
Tohle už jsem četl, ale vůbec nevím jak to zakomponovat do toho mého zdrojáku aby to fungovalo :-( |
||
vitaminc Profil |
Ahoj, mohl bych poprosit někoho o radu mám podobný problém proto píšu do tohoto vlákna, nevím koho poprosit o pomoc, tak se zeptám tady. Vzal jsem si mailový formulář odtud http://php.vrana.cz/kodovani-hlavicek-e-mailu.php chybí mu tam kódování už jsem doplnil co jsem našel vyzkoušel jsem toho, ale vždy mi to chodí divně. Kdyby se našel někdo té dobroty a poradil mi prosím nebo třeba ukázal nějaký funkční kde čerpat. Díky
Edit: jsem zjistil, ze v ipadu v mailu a webovem rozhrani se mi to ukazuje dobre ale upozorneni na telefon a v outlooku je to blbe. Tak to je divne |
||
Časová prodleva: 3 dny
|
|||
AoJ.HgTS Profil |
#7 · Zasláno: 25. 2. 2012, 12:49:26
vitaminc:
není to divné :-), s emaily je bohužel řada problémů, použití hotového kódu je často dobré řešení. Tohle je způsobeno tím, že samotná emailová zpráva je v ASCII, tj. v 7-bit kódování, utf je 8-bit kódování ("7" a "8" jsou jiná čísla a nemusíte se ani zajímat, co znamenají :-). Každý utf znak by měl být poté ve zdrojovém kódu emailu zapsán nějakou kombinací speciálních znaků, outlook, sms a jiné programy nechtějí rozumět utf znaků a čtou vše jako 7-bit znaky, proto u diakrity to vypadá, že zmizel háček a je tam nějaký paskvil navíc. Webový prohlížeč, v případě ipadu, zná utf znaky a je mu úplně jedno, že otevírá email a prostě zobrazí, co mu příjde, proto to je správně, správně zobrazené to bude nejspíš v každém webovém emailu. V odkazovaném článku J. Vrána řeší pouze hlavičky emailu, nikoliv jeho obsah. Jen tak v rychlosti mohu doporučit třeba tohle řešení https://github.com/eoghanobrien/php-simple-mail |
||
Davex Profil |
#8 · Zasláno: 25. 2. 2012, 13:33:47
AoJ.HgTS:
„V odkazovaném článku J. Vrána řeší pouze hlavičky emailu, nikoliv jeho obsah.“ V hlavičce nastavuje znakovou sadu i osmibitové kódování obsahu zprávy, takže už obsah nijak ošetřovat nemusí. Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Problém by mohl být v tom, že na konci hlavičky není odřádkováno. mail( mime_header_encode("Testovací uživatel") . " <test@example.com>", mime_header_encode("Testovací předmět"), "Zpráva", "MIME-Version: 1.0\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit\n" ); |
||
vitaminc Profil |
#9 · Zasláno: 26. 2. 2012, 12:45:26
děkuji oběma. nakonec jsem to ještě s pomoci kamaráda vyřešil tím druhým způsobem. Moc jste mi pomohli. Díky pánové
|
||
Časová prodleva: 12 let
|
0