Autor | Zpráva | ||
---|---|---|---|
Milan Sobotka Profil |
#1 · Zasláno: 24. 11. 2014, 13:18:14
Zdravím.
Potřeboval bych se zeptat, jak mám vložit celkem velký a obsáhlý kó s html ale i php do PHP echa... Vím, že se to dá řešit výměnou uvozovek nebo tak podobne ale je to kód asi s 2000 řádky a všude je něco jinýho. Navíc v tom php jsou naopak jednoduchý uvozovky a celý by se to mlátilo a navíc bych si nějaký uvozovky ani nevsiml. A tak bych se nutně potreboval zeptat, jestli není nějaká jiná možnost... Tuto problematiku řeším už celkem dlouho a nevím si radfy. Předem děkuji za rady. :-) |
||
Joker Profil |
#2 · Zasláno: 24. 11. 2014, 13:31:51
Milan Sobotka:
Pro dlouhý kód v PHP se hodí heredoc syntaxe. Ale nejlepší by bylo ten kód separovat do zvláštního HTML souboru (nebo šablony). |
||
juriad Profil |
#3 · Zasláno: 24. 11. 2014, 13:34:54
1) Můžeš dočasně přerušit PHP:
<?php if (1 == 1) { ?> <span>kus html</span> <?php } else { ?> <span>toto nikdy nenastane</span> <?php } ?> 2) Můžeš použít hereodoc (http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc) echo <<<END toto se chová jako řetězec, ale můžeš tu bez obav používat jakékol uvozovky poslení řádek musí být stejný jako je slovo za těmi třemi šipkami na začátku END; 3) Můžeš použít nějaký šablonovací systém. |
||
Milan Sobotka Profil |
#4 · Zasláno: 24. 11. 2014, 13:44:42
Takže chápu to dobře, že když dám echo <<<END
zde dlouhy jakykoliv text, skript, php skript END; Tak se mi vše krásně vypíše? |
||
juriad Profil |
#5 · Zasláno: 24. 11. 2014, 13:54:36
Milan Sobotka:
A když to vyzkoušíš, tak se to i dozvíš. :-) |
||
Milan Sobotka Profil |
#6 · Zasláno: 24. 11. 2014, 13:56:02
Už zkouším. Zatím perfekt. :) Akorat ted nevim co s tim protoze mam html a v nem php a pak zase html a porad dokala... Musim HODNE premislet kam to end dat. :)
|
||
Jan Tvrdík Profil |
#7 · Zasláno: 24. 11. 2014, 14:02:56
Milan Sobotka:
„Akorat ted nevim co s tim protoze mam html a v nem php a pak zase html a porad dokala“ Nebylo by v tom případě skutečně lepší použít nějaký šablonovací systém? Kdysi jsem udělal pro ukázku takové malé demo. |
||
Milan Sobotka Profil |
#8 · Zasláno: 24. 11. 2014, 18:02:08 · Upravil/a: Milan Sobotka
No ten šablonovací systém, to vůbec netuším co to je, jak to funguje atd...
Tak to END mi nefunguje... Asi jsem nekde udelal chybu... a to musi byt to echo pred kazdym <<<END? Je tohle dobře? : <?php echo <<<END <form method='post' action='zpracovat2.php' accept-charset='utf-8'> <select name="1"> <option >1</option> <option >2</option> <option >3</option> <option >4</option> <option >5</option> <option >6</option> <option >7</option> <option >8</option> <option >9</option> <option >10</option> <option >11</option> <option >12</option> <option >13</option> <option >14</option> <option >15</option> <option >16</option> <option >17</option> <option >18</option> <option >19</option> <option >20</option> <option >21</option> <option >22</option> <option >23</option> <option >24</option> <input type="submit" > </select> </form> END; $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '1') { echo "Skript1"; } $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '2') { echo "Skript2"; } $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '3') { echo "Skript3"; } $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '4') { echo "Skript4"; } $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '5') { echo "Skript5"; } if(isset($_POST['1'])) { $f =fopen("./radky.txt", "w"); fwrite($f, "".$_POST['1'].""); fwrite($f,"\n"); fclose($f); } |
||
Joker Profil |
Milan Sobotka:
Manuál k té heredoc syntaxi jste četl? Reakce na edit: Tak v té ukázce by prostě jen stačilo přesunout <?php až za ten HTML kód. |
||
Milan Sobotka Profil |
#10 · Zasláno: 24. 11. 2014, 18:17:51 · Upravil/a: Milan Sobotka
Ješte ne... Ted se na to podívám. :-)
No ted uz jo ale nejsem o moc chytrejsi... :D Obavam se, ze tohle je moc narocny... |
||
lionel messi Profil |
#11 · Zasláno: 24. 11. 2014, 19:02:44
Milan Sobotka:
„Ješte ne... Ted se na to podívám. :-)“ Lepší postup je prečítať návod pred použitím. :-) Inak stačí to tak, ako písal Joker, teda: <form method='post' action='zpracovat2.php' accept-charset='utf-8'> <select name="1"> <option >1</option> <option >2</option> <option >3</option> <option >4</option> <option >5</option> <option >6</option> <option >7</option> <option >8</option> <option >9</option> <option >10</option> <option >11</option> <option >12</option> <option >13</option> <option >14</option> <option >15</option> <option >16</option> <option >17</option> <option >18</option> <option >19</option> <option >20</option> <option >21</option> <option >22</option> <option >23</option> <option >24</option> <input type="submit" > </select> </form> <?php $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '1') { echo "Skript1"; } $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '2') { echo "Skript2"; } $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly //a ďalší kód, pre prehľadnosť skrátené ?> |
||
Milan Sobotka Profil |
#12 · Zasláno: 24. 11. 2014, 19:32:20
No takhle jsem to myslel ale tohle je ukazka z 2200 radku a porad se tam micha php a html... :-)
|
||
mimochodec Profil |
#13 · Zasláno: 24. 11. 2014, 21:53:15
Milan Sobotka:
Ještě si jednou pořádně přečti juriadovu první radu. Kromě toho: opakování tohoto $obsah = file_get_contents ('./radky.txt'); $radky = explode("\n", $obsah); $druhy_radek = $radky[0]; # indexuje se od nuly if ($druhy_radek == '1') { echo "Skript1"; } |
||
Milan Sobotka Profil |
#14 · Zasláno: 25. 11. 2014, 09:29:38
mimochodec:
Prostě. :-) Potřeboval bych mít php echo, ve kterém bude nějaký dlouhý php, html, css, js kod... A to se mi nedaří... :-) |
||
juriad Profil |
#15 · Zasláno: 25. 11. 2014, 09:35:27
Milan Sobotka:
Moc to kombinuješ. Zkus popsat, o co se snažíš. Skoro nikdy nepotřebuješ v PHP tvořit CSS nebo JS. Obchází se to tak, že pomocí PHP nastavuješ elementům třídy a id, a těch se pak CSS a JS chytne. Uvnitř echa také nemůžeš mít PHP kód, můžeš tam maximálně použít proměnnou pro výpis. |
||
Milan Sobotka Profil |
#16 · Zasláno: 25. 11. 2014, 12:05:58
Jo to vim ze PHP nemuze byt v php... CSS chapu. To muzu dat na jinej soubor. JS taktez no proste v echu budu mit html ale to se mi nedari...
|
||
tiso Profil |
#17 · Zasláno: 25. 11. 2014, 13:32:59
Milan Sobotka: skús doplniť čo chcel juriad: „Moc to kombinuješ. Zkus popsat, o co se snažíš.“
|
||
Milan Sobotka Profil |
#18 · Zasláno: 25. 11. 2014, 15:31:46
PHP nastavitelná tabulka...
|
||
_es Profil |
#19 · Zasláno: 25. 11. 2014, 16:34:50
Milan Sobotka:
„PHP nastavitelná tabulka...“ To má byť čo? Vygeneruješ v PHP HTML kód tabuľky - aký len chceš. Kde, kedy, má byť „nastaviteľná“? |
||
mimochodec Profil |
#20 · Zasláno: 26. 11. 2014, 07:04:39
Milan Sobotka:
Z #8, ř. 36-69 je zřejmé, že to chceš prostě nějak uplácat, aniž by ses třeba jen minimálně zamyslel, co to dělá. Neumíš ani popsat, co chceš. Těžko radit. |
||
Časová prodleva: 10 let
|
0