Autor | Zpráva | ||
---|---|---|---|
Jirka 20 Profil * |
Zdravím všechny,
mám následující formulář pro odesílání e-mailu ze stránek. Pokud jeho výsledek prohlédnu v Outlooku, všechno je v pořádku, ale pokud se jej snažím zobrazit třeba ve webovém rozhraní Seznamu, nezobrazí se diakritika. Ve stránce je použito kódování windows-1250. Děkuji za radu. <? $predmet .= "Formulář"; $email = $_POST['email']; $telo = $_POST['telo']; $telo .= "jmeno: " .$_POST['jmeno']. "\n"; $telo .= "email: " .$_POST['email']. "\n"; $telo .= "telefon: " .$_POST['telefon']. "\n"; $telo .= "poznamky: " .$_POST['poznamky']. "\n"; if ($email!="") { Mail("xx@xx.cz", $predmet, $telo, "From: " . $email); echo "<p>E-mail v pořádku odeslán.</p>"; } else { echo "<p>Omlouváme se. Při odesílání formuláře <strong>došlo k chybě</strong>. </p>"; } ?> |
||
Jan Tvrdík Profil |
#2 · Zasláno: 3. 4. 2009, 22:01:07
Jirka 20:
PHP FAQ: Problémy s maily |
||
Jirka 20 Profil * |
#3 · Zasláno: 4. 4. 2009, 21:20:34
Tak jsem to zkusil rozchodit pomocí scriptu na té stránce, ale bohužel mi to furt nejde. Já PHP moc neovládám, tak je možný, že jsem jen ten příklad nepochopil. Nejlepší by bylo vložit komentáře do kódu výše - co a kam mám vložit, abych to pochopil...
|
||
Alphard Profil |
#4 · Zasláno: 4. 4. 2009, 21:43:21
<?php /* *************** diskuse.jakpsatweb.cz *** PHP FAQ ********************** */ function autoUTF($s) { // detect UTF-8 if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) return $s; // detect WINDOWS-1250 if (preg_match('#[\x7F-\x9F\xBC]#', $s)) return iconv('WINDOWS-1250', 'UTF-8', $s); // assume ISO-8859-2 return iconv('ISO-8859-2', 'UTF-8', $s); } function cs_mail ($to, $predmet, $zprava, $head = "") { $predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?="; $head .= "MIME-Version: 1.0\n"; $head .= "Content-Type: text/plain; charset=\"utf-8\"\n"; $head .= "Content-Transfer-Encoding: base64\n"; $zprava = base64_encode (autoUTF ($zprava)); return mail ($to, $predmet, $zprava, $head); } /* ********************************************************************** ** */ $predmet .= "Formulář"; $email = $_POST['email']; $telo = $_POST['telo']; $telo .= "jmeno: " .$_POST['jmeno']. "\n"; $telo .= "email: " .$_POST['email']. "\n"; $telo .= "telefon: " .$_POST['telefon']. "\n"; $telo .= "poznamky: " .$_POST['poznamky']. "\n"; if ($email!="" && cs_mail("xx@xx.cz", $predmet, $telo, "From: $email\n")) { echo "<p>E-mail v pořádku odeslán.</p>"; } else { echo "<p>Omlouváme se. Při odesílání formuláře <strong>došlo k chybě</strong>. </p>"; } ?> |
||
Časová prodleva: 4 měsíce
|
|||
Afrod Profil |
#5 · Zasláno: 8. 8. 2009, 07:35:48
Já mám trošičku obsáhlejší formulář a nevim jak to udělat aby se všude zobrazovala diakritika, neumí to č ani ž
$jmeno=$_POST['jmeno']; $prijmeni=$_POST['prijmeni']; $ulice=$_POST['ulice']; $popisne=$_POST['popisne']; $psc=$_POST['psc']; $mesto=$_POST['mesto']; $telefon=$_POST['telefon']; $email=$_POST['email']; $vek=$_POST['vek']; $vaha=$_POST['vaha']; $vyska=$_POST['vyska']; $redukce=$_POST['redukce']; $kdy=$_POST['kdy']; $spam=$_POST['spam']; $to="Vyplněný formulář se všemi informacemi tak, jak to má být"; |
||
Jan Tvrdík Profil |
#6 · Zasláno: 8. 8. 2009, 07:37:57
Afrod:
„aby se všude zobrazovala diakritika“ Kde je všude? |
||
Afrod Profil |
#7 · Zasláno: 8. 8. 2009, 08:17:16
No uved sem všechny proměný co mám a potřebuju aby se to zobrazovalo všech kromě spam
|
||
Jan Tvrdík Profil |
#8 · Zasláno: 8. 8. 2009, 08:26:49
Afrod:
Kde aby se to zobrazovalo? Co s těmi proměnnými chceš dělat? |
||
Alphard Profil |
#9 · Zasláno: 8. 8. 2009, 09:30:32 · Upravil/a: Alphard
Myslím, že cílem je poslat všechny proměnné mailem.
$telo = "Jméno: {$_POST['jmeno']}\r\n"; $telo .= "Příjmení: {$_POST['prijmeni']}\r\n"; $telo .= "Ulice: {$_POST['ulice']}\r\n"; // ... |
||
Afrod Profil |
#10 · Zasláno: 9. 8. 2009, 08:19:14 · Upravil/a: Afrod
Ano za cíl je poslat všechny proměnné majlíkem. Jo a ještě se zeptám co přesně je to \r = Návrat vozíku, ale co to znamená
|
||
Alphard Profil |
#11 · Zasláno: 9. 8. 2009, 10:02:27
Afrod:
„co přesně je to \r“ Odřádkování. Některým systémům stačí \n, některé využívají tohle. |
||
Afrod Profil |
#12 · Zasláno: 9. 8. 2009, 17:55:15
dobrá myšlenka, ale nějqak mi nevalí zobrazí se mi pouze Předmět Zpráva a nic ví kde sem mohl udelat chybu?
|
||
Alphard Profil |
#13 · Zasláno: 9. 8. 2009, 19:04:26
Popište to trochu podrobněji. Co je v té zprávě?
Před odesláním si také vypište $telo a zkontrolujte, jestli obsahuje vše, co má. |
||
Časová prodleva: 15 let
|
0