php neradkuje

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
Uživatelský avatar
Imra
Level 2
Level 2
Příspěvky: 170
Registrován: 22 pro 2008 00:13
Bydliště: Frydek-Mistek
Kontaktovat uživatele:

php neradkuje

Příspěvek od Imra »

zdravim, ucim se php a narazil jsem na problem. Ucim se to z http://www.linuxsoft.cz/article.php?id_article=177

Jak 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 :)
Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: 30 lis 2005 11:21
Bydliště: Brno
Kontaktovat uživatele:

Re: php neradnkuje

Příspěvek 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 :wink:
Everybody lies so don't trust anyone. :)
Uživatelský avatar
Imra
Level 2
Level 2
Příspěvky: 170
Registrován: 22 pro 2008 00:13
Bydliště: Frydek-Mistek
Kontaktovat uživatele:

Re: php neradkuje

Příspěvek 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ý
Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: 30 lis 2005 11:21
Bydliště: Brno
Kontaktovat uživatele:

Re: php neradnkuje

Příspěvek 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.
Everybody lies so don't trust anyone. :)
Uživatelský avatar
Imra
Level 2
Level 2
Příspěvky: 170
Registrován: 22 pro 2008 00:13
Bydliště: Frydek-Mistek
Kontaktovat uživatele:

Re: php neradnkuje

Příspěvek od Imra »

tak mi rekni k cemu teda je to \n
Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: 30 lis 2005 11:21
Bydliště: Brno
Kontaktovat uživatele:

Re: php neradnkuje

Příspěvek od Koja »

To netuším, protože zatím sem se všude setkal s tím, že používají to <br> :)
Everybody lies so don't trust anyone. :)
Uživatelský avatar
Imra
Level 2
Level 2
Příspěvky: 170
Registrován: 22 pro 2008 00:13
Bydliště: Frydek-Mistek
Kontaktovat uživatele:

Re: php neradkuje

Příspěvek 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. :smile:
Uživatelský avatar
Myloš
Master Level 8.5
Master Level 8.5
Příspěvky: 6991
Registrován: 11 dub 2006 09:09
Bydliště: Praha

Re: php neradkuje

Příspěvek 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.
  • Než položíte dotaz, nejprve se ptejte strejdy Gůůgla.
  • Výňatek z pravidel fóra PC-HELP:
    • Název tématu zvolte takový, aby co nejvýstižněji charakterizoval obsah tématu.
    • Nesnažte se řešit jiný problém (i když podobný) v jednom tématu. Raději založte nové téma.
  • Mýliti se je Myloš. ;-)
Odpovědět

Zpět na „Programování a tvorba webu“