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

Uživatelský avatar
Imra
Level 2
Level 2
Příspěvky: 170
Registrován: prosinec 08
Bydliště: Frydek-Mistek
Pohlaví: Muž
Stav:
Offline
Kontakt:

php neradkuje

Příspěvekod Imra » 23 led 2009 13:51

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 :)

Reklama
Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: php neradnkuje

Příspěvekod Koja » 23 led 2009 13:54

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: prosinec 08
Bydliště: Frydek-Mistek
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: php neradkuje

Příspěvekod Imra » 23 led 2009 14:04

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: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: php neradnkuje

Příspěvekod Koja » 23 led 2009 14:12

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: prosinec 08
Bydliště: Frydek-Mistek
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: php neradnkuje

Příspěvekod Imra » 23 led 2009 14:14

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: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: php neradnkuje

Příspěvekod Koja » 23 led 2009 14:27

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: prosinec 08
Bydliště: Frydek-Mistek
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: php neradkuje

Příspěvekod Imra » 23 led 2009 14:47

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: 6990
Registrován: duben 06
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: php neradkuje

Příspěvekod Myloš » 24 led 2009 13:28

\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š. ;-)


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

Kdo je online

Uživatelé prohlížející si toto fórum: Seznam[Bot] a 32 hostů