Autor Zpráva
shadyyx
Profil
Zdravim.

pouzivam "distribuci" WAMP (tedy Apache, PHP a Mysql v jednom) jiz asi dva roky, jsem s tim moc spokojen jak to vsechno pekne spolu slape, ale nikdy mi nefungovali escape sekvence - proste je prohlizec (i Apache) ignorovali - bylo uplne jedno, jestli jsem daval neco vypsat na strance nebo do souboru - pokazde byli ignorovany...

(kdo by nevedel co to je, jsou to znaky jako atd)

Ted jsem ale delal aplikaci pro posilani HTML mailu, a tam mi to opet nechce brat escape znaky v uvahu (a jsou tam dulezite, kdyz se plni hlavicky...)

Nevite nahodou nekdo, v cem by mol byt problem???

Diks mockrat vsem za inteligentni odpovedi...
Joker
Profil
magic_quotes?
Jak vypadá kód?
shadyyx
Profil
na kodu nesejde....

muze jit o headers do majlu treba


$headers = "From: NEKDO NEJAKY <neco@nekde>\r\n";
$headers.= "Content-Type:text/html; charset="utf8"\r\n";


nebo muze klidne jit o

$text = "Mala zlata rybicka\n se vybrala zaplavat si\r do Atlantickeho oceanu\r\n";
echo $text;


proste vsude se ty znaky ignorujou a vypise se namisto nich JENOM JEDNA MEZERA
Joker
Profil
shadyyx
$text = "Mala zlata rybicka\n se vybrala zaplavat si\r do Atlantickeho oceanu\r\n";
echo $text;
proste vsude se ty znaky ignorujou a vypise se namisto nich JENOM JEDNA MEZERA

Jenom pro jistotu: Opravdu je ta jedna mezera i ve zdrojovém kódu výsledné stránky, nebo jen na stránce samotné?
shadyyx
Profil
delas si ze me prdel???

text s rybickou si presne nepamatuji, a hlavne jsem si jej ted vymyslel, ale ty headers kdyz si odechuju na stranku, tak jsou vsechny v jednom radku s JEDINKOU MEZEROU mezi nima... zadny [enter], zadny [new line]...
Joker
Profil
Moje otázka je stále nezodpovězena:
Je to vidět s jednou mezerou na té stránce anebo při zobrazení zdrojového kódu stránky?
To je totiž docela podstatný rozdíl.
shadyyx
Profil
prominte, Jokere, zrejme rad vtipkujete, co???

kdyz si napisu do zdrojaku "ahoj Jokere" nebude nahodou mezera JAK na strance TAK ve zdrojaku ty stranky???

jinymi slovy, kdyz mam zdrojak v php a kod:

$headers = "From: NEKDO NEJAKY <neco@nekde>\r\n";
$headers.= "Content-Type:text/html; charset="utf8"\r\n";
echo $headers;

tak na strance mam VSECHNO V JEDNOM RADKU s mezery mezi jednotlivymi castmi (kde by meli byt escape charaktery) a tudiz je to samy zapsany i ve zobrazeni HTML zdroje ty stranky...

uz je Vase otazka zodpovezena?
Joker
Profil
shadyyx
uz je Vase otazka zodpovezena?
Ne.

Omlouvám se, že to říkám jak pro blbce, ale mám čím dál větší pocit, že v tomhle případě to je oprávněně :-)

kdyz si napisu do zdrojaku "ahoj Jokere" nebude nahodou mezera JAK na strance TAK ve zdrojaku ty stranky???
V tomhle případě ano, ale to s tím vůbec nesouvisí. Já měl dojem, že se bavíme o odřádkování. A vsaďte boty, že odřádkování určitě nebude stejně JAK na stránce, TAK ve zdrojáku.

edit: Ještě jednou tedy otázka: Pokud se podíváte do zdrojáku stránky, skutečně tam jsou ty mezery? ANO (jsou) - NE (nejsou)
Připomínám, že zdroják skutečně není totéž jako to, co je vidět na stránce.
shadyyx
Profil
momentalne uz nejsem na sbvem kompu a cely vikend ani nebudu, takze se ozvu tedy az pak...muzete mi ale zatim vsyvetlit jaky to ma souvis???
Joker
Profil
shadyyx
muzete mi ale zatim vsyvetlit jaky to ma souvis???
Například tak, že v HTML se odřádkování (ve zdroji) chápe jako mezera (na stránce)?

http://www.jakpsatweb.cz/zaklady-html.html#syntaxe
yderf
Profil
shadyyx
Inými slovami, tak, ako sa snažíš dosiahnuť pomocou escape sekvencii odriadkovanie je v e-maili rovnaká blbosť ako keby si chcel takto dosiahnuť zalomenie v HTML.
nightfish
Profil
Inými slovami, tak, ako sa snažíš dosiahnuť pomocou escape sekvencii odriadkovanie je v e-maili rovnaká blbosť ako keby si chcel takto dosiahnuť zalomenie v HTML.
e-mail, který bude v plaintextu, se samozřejmě odřádkovává pomocí \n, stejně tak e-mailové hlavičky
na rozdíl od HTML (a mailů v HTML), kde se řádkový zlom vkládá pomocí <br>
DoubleThink
Profil *
Například tak, že v HTML se odřádkování (ve zdroji) chápe jako mezera (na stránce)?
Přesněji libovolný počet bílých znaků ve zdroji se zobrazí jako mezera.

Inými slovami, tak, ako sa snažíš dosiahnuť pomocou escape sekvencii odriadkovanie je v e-maili rovnaká blbosť ako keby si chcel takto dosiahnuť zalomenie v HTML.
Není to blbost, pokud odesílá text/plain mail, ale je potřeba použít konec řádku v souladu s normou: <CR><LF> (\r\n).
shadyyx
Profil
OK, tak uvedu konkretni pripad:

jsou hlavicky ve tvaru jak jsem je uvadel nahore... kdyz mi prijde email, jsou hlavicky cca v tomto tvaru (jak je zobrazi email klient):
hlavicka
hlavicka
hlavicka

Content-Type: text/html; charset=utf8

MessageID...

Date...

Uz jen tim, ze je tam vlozen v tech hlavickach prazdny radek dela obrovsky problem... V MS Outlook (ne Outlook Express) se toto odradkovani neprojevi, hlavicky se vemou jak jsou...

V Thunderbirdu od Mozilly ale prazdny radek pred Content-Type spusobi to, ze se content-type uz vypise primo de tela mailu, nastavi se content-type cca podle obsahu (nekdy si to hodi samo multipart/mixed, nekdy nic) a zobrazi se cely HTML zdrojovy kod mailu...coz je spatne...

kdyz jsi ale chci vyzkouset ktery z \\r nebo \\n dela ty dva radky po sobe, tak mi je prohlizec ignoruje...tedy bych rad vedel, jak muzu zjistit, jaky efekt ma ktery z escape znaku v mym vlastnim kodu a na mym vlastnim PC...
krteczek
Profil
pcjeneignoruje, klikni si pravym myšitkem na tu stranku a dejzobrazit zdrojový kod stránky (firefox), a uvidíš že se ti to zalomí (v tom zdrojáku)
shadyyx
Profil
OK...na strance se text nezalomi, misto znaku \\r nebo \\n se vlozi mezera, jak je definovano v HTML, po zobrazeni zdrojoveho kodu stranky ([CTRL+U] pro firefox) bylo vsechno hezky odradkovano....

a ted:
pouzitim \\r\\n na konci radku kazde hlavicky bylo odradkovani stejne jako pouzitim JEN \\r nebo JEN \\n. Pri posilani mailu je pokazde ale vlozen PRAZDNY RADEK!!! tedy ne, ze se nova hlavicka odradkuje na novy, ale jeste se i vlozi PRAZDNY RADEK!!!

MS Outlook s tim nema problem, hlavicky precte a prazdny radek ignoruje, ale Outlook Express (alespon muj) a Thunderbird (alespon muj) narazi na prazdny radek pred Content-Type, a uz vsechno za prazdnym radkem ignorujou, tudiz se nepriradi spravny content-type a zobrazi se cely HTML zdrojovy kod mailu...

Muzete mi pomoct todleto osetrit???
krteczek
Profil
jen dotaz:
je tohle správně:

$headers .= "Content-Type:text/html; charset="utf8"\r\n"; 
krteczek
Profil
hmm odkdy zase fungují slashe tak jak fungovat maji?
nightfish
Profil
hmm odkdy zase fungují slashe tak jak fungovat maji?
od 1. prosince
shadyyx
Profil
to krteczek
na konci hlavicek by melo byt \r\n pro zachovani CRLF - znaku pro ukonceni radku. uz si nepamatuji spravny vyznam obou znaku (CR a LF)
Joker
Profil
shadyyx
po zobrazeni zdrojoveho kodu stranky ([CTRL+U] pro firefox) bylo vsechno hezky odradkovano....
Doufám, že je to poučení pro příště, i ohledně reakcí na dané rady.

uz si nepamatuji spravny vyznam obou znaku (CR a LF)
Podle odřádkování na psacím stroji: CR = carriage return (vrátit vozík), LF = line feed (posunout řádek)
No a aby to nebyla taková nuda a programátoři měli trochu zábavy, používají různé operační systémy všechny tři možné kombinace odřádkování: UNIX-like systémy používají jen LF, MacOS jen CR a Windows CR+LF.
Mara
Profil *
Jsem začátečník,
takže \t \r \n v php znamená tabulátor, návrat vozíku a nová řádka. Zapíše se to do html kódu, takže ve výsledku z toho vždycky vidím jen mezeru, je to tak?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: