Autor | Zpráva | ||
---|---|---|---|
beckcz Profil |
Dobry den,
omlouvam se, ze zakladam nove tema, ale prosel jsem snad vsechny diskuze na toto tema a nedobral jsem se reseni(resp. neumim ho dosadit do kodu). Mam formular pro posilani mailu ze stranek, avsak to prijde vzdy s rozhozenou diakritikou. Jsem zacatecnik a nevim si rady. Prosim tedy o pomoc. Je to kodovane v utf-8. Pokud se najde nekdo ochotny pomoc, predem dekuji za Vas cas. zde je kod <?php $_EMAIL=isset($_REQUEST['email'])?$_REQUEST['email']:""; $_MESSAGE=isset($_REQUEST['message'])?$_REQUEST['message']:""; if($_EMAIL || $_MESSAGE) { if(!$_EMAIL || !$_MESSAGE) { $_ERROR = 'Required '; if (!$_EMAIL) { $_ERROR = $_ERROR.'e-mail'; if (!$_MESSAGE) $_ERROR = $_ERROR.', message '; } else { if (!$_MESSAGE) $_ERROR = $_ERROR.' message '; } $_ERROR = $_ERROR.' - not filled!'; } if( $_EMAIL && $_MESSAGE) { if(validMail($_EMAIL) != $_EMAIL) { $_ERROR = 'Enter a valid e-mail!'; } else { mail("snoorky@seznam.cz", "Support", $message, "From: '.$email.' \r\n" ."X-Mailer: PHP/" . phpversion()); header("Location: index.php?lang=$_LANG&action=$_ACTION&act=send_ok"); } } } ?> <td width="660" height="40" align = "left" valign = "middle"> <form id="emailme" method="POST" action="index.php?action=Support&act=main"> <table width="664" border="0" class="TmTraining_zaglav"> <tr align="left" > <td> <table class="TmTraining_zaglav"> <tr align="right" > <td> <textarea name="message" cols=70 rows=6 style="border: #000 1px solid;"><?=$_MESSAGE?></textarea> </td> </tr> <tr align="right" > <td> Vaše emailová adresa: <input name="email" value="<?=$_EMAIL?>" type="text" size="30" style="font-size:20px; border:1px solid #000"> </td> </tr> <tr class="Header"> <td align="right"> <br> <a href="javascript:void(0);" onclick="document.getElementById('emailme').submit()"><strong>Odeslat </strong><img class="pic_center" src="<?=ROOT_URL?>/images/button.png" width="26" height="19" border="0"></a> </td> </tr> </table> </td> </tr> </table> <div style="color:red"><?=$_ERROR;?></div> </form> </td> </tr> </table> </td> </tr> </table> |
||
Taps Profil |
#2 · Zasláno: 31. 8. 2011, 15:37:21
beckcz:
podívej se do FAQ |
||
beckcz Profil |
#3 · Zasláno: 31. 8. 2011, 15:45:18
diky za opoved. Ver mi, ze jsem to zkousel, ale jak jsem psal jsem zacatecnik (sam bych se popsal jako : ultra mega total nooba). Proto jsem Vas chtel poprosit, jestli by jste to nekdo nemoh do tohoto kodu zakomponovat.
PS: kdyby nekoho zajimalo jak jsem se k tomu dostal, tak sem k tomu prisel jako slepej k houslim. Dostal jsem to za ukol, ani nevim proc. Jsem lehce zoufalej, protoze moje znalosti php jsou minimalni, az nulove. |
||
Taps Profil |
#4 · Zasláno: 31. 8. 2011, 16:51:55
beckcz:
zkus níže uvedený zápis function zakoduj($text) //kódování emailu { return "=?utf-8?B?".base64_encode($text)."?="; } $predmet="Předmět e-mailu"; $headers = "MIME-Version: 1.0\n"; $headers.= "Content-Type: text/html; charset=\"utf-8\"\n"; $headers.= "Content-Transfer-Encoding: base64\n"; $headers.= "From:Test test<test@seznam.cz>\n"; $headers.= "X-Mailer: PHP\n"; // mailový klient $predmet = zakoduj($predmet); $zprava= Base64_Encode($telo); mail("adresa@seznam.cz", $predmet, $zprava, $headers); |
||
beckcz Profil |
Diky moc za odpoved. Zkusil jsem to. Ten kod ted vypada nejak takhle:
<?php $_EMAIL=isset($_REQUEST['email'])?$_REQUEST['email']:""; $_MESSAGE=isset($_REQUEST['message'])?$_REQUEST['message']:""; if($_EMAIL || $_MESSAGE) { if(!$_EMAIL || !$_MESSAGE) { $_ERROR = 'Required '; if (!$_EMAIL) { $_ERROR = $_ERROR.'e-mail'; if (!$_MESSAGE) $_ERROR = $_ERROR.', message '; } else { if (!$_MESSAGE) $_ERROR = $_ERROR.' message '; } $_ERROR = $_ERROR.' - not filled!'; } if( $_EMAIL && $_MESSAGE) { { function zakoduj($_MESSAGE) //kódování emailu { return "=?utf-8?B?".base64_encode($_MESSAGE)."?="; } $headers = "MIME-Version: 1.0\n"; $headers.= "Content-Type: text/html; charset=\"utf-8\"\n"; $headers.= "Content-Transfer-Encoding: base64\n"; $headers.= "From:$_EMAIL\n"; $headers.= "X-Mailer: PHP\n"; // mailový klient $_MESSAGE= Base64_Encode($_MESSAGE); mail("testmail2@test.cz",'support', $_MESSAGE, $headers); } } } ?> bohuzel nefunguje. Kdyz poslu zpravu "test ěščřžýáíé" tak prijde "test ��������" �=ctverecek Diky moc za tvuj cas. Moderátor Alphard: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
![]() |
||
Alphard Profil |
#6 · Zasláno: 1. 9. 2011, 15:52:46
beckcz:
Verze uvedená ve FAQ se zatím snad vždy ukázala být funkční. Použití je naprosto jednoduché, místo volání fce mail() se zavolá cs_mail(), to musí zvládnou i začátečník. "X-Mailer: PHP/" . phpversion() buď do hlaviček vůbec nedávejte, nebo za to dejte konec řádku.
|
||
Časová prodleva: 14 let
|
0