Stránka 1 z 1
php neradkuje
Napsal: 23 led 2009 13:51
od Imra
zdravim, ucim se php a narazil jsem na problem. Ucim se to z
http://www.linuxsoft.cz/article.php?id_article=177Jak je mozne, ze mi to neodradkuje :
Kód: Vybrat vše
<? echo "Tohle bude první řádek
Tohle bude druhý řádek
Tohle dáme nakonec"?>
Misto toho mi to udela v prohlizeci tohle :
Kód: Vybrat vše
Tohle bude první řádek Tohle bude druhý řádek Tohle dáme nakonec
nefunguje mi ani tohle, proste mi to nejak nechce radkovat
Kód: Vybrat vše
<? echo "Tohle bude první řádek\nTohle bude druhý řádek\nTohle dáme nakonec"?>
Jinak pouzivam vistu, apache 2.2, php 5.2.8 a mysql 5...Díky za rady :)
Re: php neradnkuje
Napsal: 23 led 2009 13:54
od Koja
Ehm .. a četl si dál?
Pokud jste si zkoušeli uvedený příklad s řádky a máte pocit, že tam cosi nehraje, máte pravdu. V prohlížeči totiž budou všechny údaje na jednom řádku. Kde je tedy problém? Problém je v tom, že nesmíme míchat dvě věci: to jak PHP předává informace prohlížeči a to, jak prohlížeč předané informace zobrazuje. Když pošlete prohlížeči požadavek na skript uvedený výše a necháte si zobrazit zdrojový kód stránky která dorazí, zjistíte, že tam ty konce řádku opravdu jsou. HTML ale nezalamuje řádek tehdy, když je znak konce řádku v kódu, HTML má k tomu značku <BR>. Je samozřejmě možné vložit značku HTML do řetězce v PHP, třeba takhle:
Kód: Vybrat vše
<?
echo "Řádek první...<BR>Řádek druhý<BR> a konečně řádek jánevímjaký";
?>
... blablabláááá
Přečti si ten článek celej, než začneš panikařit

Re: php neradkuje
Napsal: 23 led 2009 14:04
od Imra
A proc teda kdyz napisu
Kód: Vybrat vše
echo "Řádek první...<BR>\nŘádekdruhý<BR>\na konečně řádek jánevímjaký";
tak nedostanu tohle
Řádek první...<BR>
Řádek druhý<BR>
a konečně řádek jánevímjaký
ale tohle
Řádek první...
Řádek druhý
a konečně řádek jánevímjaký
Re: php neradnkuje
Napsal: 23 led 2009 14:12
od Koja
Ty vážně neumíš číst, že?
Kdybychom ale chtěli být maličko preciznější, můžeme napsat kód i takto:
Kód: Vybrat vše
<?
echo "Řádek první...<BR>\nŘádekdruhý<BR>\na konečně řádek jánevímjaký";
?>
… prohlížeč pak obdrží následující kód:
Kód: Vybrat vše
Řádek první...<BR>
Řádek druhý<BR>
a konečně řádek jánevímjaký
… a ten nám zobrazí. Rozdíl pro uživatele není žádný. Rozdíl pro prohlížeč je jen ten, že musí načíst více dat a přísně řečeno ten druhý způsob bude více zatěžovat linku do internetu, protože i ty znaky konce řádku se musejí ze serveru přenést – ale pokud budeme chtít rozpitvat to, co dorazilo do prohlížeče, je ten druhý způsob daleko přehlednější.
Takže prohlížeč dostane to <br> a díky tomu ti to odřádkuje.
Re: php neradnkuje
Napsal: 23 led 2009 14:14
od Imra
tak mi rekni k cemu teda je to \n
Re: php neradnkuje
Napsal: 23 led 2009 14:27
od Koja
To netuším, protože zatím sem se všude setkal s tím, že používají to <br> :)
Re: php neradkuje
Napsal: 23 led 2009 14:47
od Imra
No, a prave to je ten problem. Pred pul rokem mi to myslim slo udelat, jak jsem se to snazil naucit ale neuspesne. Myslim, ze je urcite chyba nekde u me, ale kde.

Re: php neradkuje
Napsal: 24 led 2009 13:28
od Myloš
\n odřádkuje ve zdrojovém kódu, ale neprojeví se to v prohlížeči, protože ten zdrojový kód interpretuje jako HTML. Když si necháš zobrazit zdrojový kód dané stránky (tj. už načtené v prohlížeči), uvidíš všude tam, kam jsi v PHP napsal \n, odřádkování navíc.
Ovšem v html se můžeš uřádkovat, ale jestliže v rámci odstavce ne<br>eakneš, tak máš smůlu.
<br> oproti tomu provede odřádkování v prohlížeči, protože je to standardní HTML značka pro odřádkování. A samozřejmě že se na monitoru neobjeví žádné <br>, když prohlížeč tagy nezobrazuje, nýbrž interpretuje. Značku <br> uvidíš pouze ve zdrojovém kódu.