Autor | Zpráva | ||
---|---|---|---|
ASSASIN Profil |
#1 · Zasláno: 7. 4. 2007, 16:56:50
Ahoj
mám tento skript...všechno funguje víceméně v pořádku až na to,že my nechodí české znaky..mohli by jste mi prosím poradit a opravit mů kód...potřebuji ho opravit proto,jeliž jsem už zkoušel to vyřešit sám ale výsledek mého snažení byl jenom horší..tzn..udělal se mi ze znaků rosypaný čaj.. Na stránkách mám kodování utf-8 Pokud někdo víte budu rád. <?php $to = "mail@seznam.cz"; $extra = "From: $mail Reply-To: $mail "; $subject = "Vzkaz od ".$name.""; $mess = "Jméno: ".$name." Email: ".$mail." Telefon: ".$telefon." Mám zájem o: ".$te." Zpráva : ".$message." Pùvodní web: ".$web.""; mail ($to, $subject, $mess, $extra); ?> <html><head> <META HTTP-EQUIV="Refresh" CONTENT="0;URL=kontakty.html"> |
||
YoSarin Profil |
#2 · Zasláno: 7. 4. 2007, 17:06:18 · Upravil/a: YoSarin
ASSASIN
No, zkus hledat, řeší se to tu dnes a denně. Subject mailu se posílá v iso-8859-2 -> převeď ho do něj pomocí iconv() Do hlaviček přidej Content-Type: text/plain; charset=utf-8Stránka s formulářem by taky měla být v utf-8 (to asi je). Problém může nastat při posílání mailu na adresu kterou hlídá spamassasin - pak bude pravděpodobně označena za spam (kvůli nezakódovaným znakům v hlavičce) udělej tohle: $subject = iconv("UTF-8", "ISO-8859-2", "Vzkaz od $name"); <OT>Teoreticky by to šlo i s Q (quoted_printable()), ale to spamassasin z nějakého důvodu nebere (nemá to kódování asi rád) </OT> Nejlépe by bylo pomocí iconv() převést do iso-8859-2 i text mailu a celý mail pak posílat s "charset=iso-8859-2". Taky nezapomeň, že hlavičky (to co ty máš v $extra) by měly být oddělené pomocí "\r\n". |
||
ASSASIN Profil |
#3 · Zasláno: 7. 4. 2007, 17:09:17
Nějak to přestávám chápat mohl by jsi mi to nátorně předvést úpravou toho kódu prosím?
|
||
YoSarin Profil |
#4 · Zasláno: 7. 4. 2007, 17:14:48
To jsem netušil, že to píšu až natolik zmatečně...
<?php Snad jsem tam nenapsal žádnou chujovinu. |
||
ASSASIN Profil |
#5 · Zasláno: 7. 4. 2007, 17:54:00
Tak ted pro zmenu neprijdou vyplnene polozky maximalne jedna...
tady je formular k nahlednuti ale myslim ze je to v nem vse dobre... http://pharmatraining.cz/prospekty.html Tahle situace se my uz take jednou stala,vratil jsem zpet..preci jenom je lepsi kdyz mi chdi spatne diakritika,nez kdyz to nejde vubec...vazne nevim v cem je chyba... |
||
YoSarin Profil |
#6 · Zasláno: 7. 4. 2007, 18:11:10
ASSASIN
a jak plníš ty proměnné $mess, $name, $mail, ... ? Pomocí $_POST['']? |
||
ASSASIN Profil |
#7 · Zasláno: 7. 4. 2007, 19:10:27
No method post mam jenom u <form action="sendobj.php" method="post">,takze vsechna data z formularu posilam jako post..nebo NE?
|
||
YoSarin Profil |
#8 · Zasláno: 7. 4. 2007, 19:34:08
ASSASIN
no, všechna data z toho formu asi jo... :-) Jen sem strč ten kousek kódu kde to z těch $_POST[''] dostáváš do těch proměnných se kterýma potom pracuješ v tom mail() |
||
ASSASIN Profil |
#9 · Zasláno: 7. 4. 2007, 19:50:01
??? zase nechápu...jsem asi úplně natvrdlý..vzdyt post je aplikovany na vsechny polozky...z toho formulare...mam je tady nasazet v php soubotu do toho ()mail?
|
||
Alphard Profil |
#10 · Zasláno: 7. 4. 2007, 19:59:54
jde o nastavení register_globals
jednoduše dej n azačátek scriptu: $mail = $_POST['mail']; $name = $_POST['name']; a tohle pro všechny proměnné z formuláře |
||
ASSASIN Profil |
#11 · Zasláno: 7. 4. 2007, 20:16:42
a nemohou být maximálně pouze 4?
|
||
ASSASIN Profil |
#12 · Zasláno: 7. 4. 2007, 21:16:33
Skvělé už to funguje bezvadně
Díky vám všem za ochotu... |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0