Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Autor | Správa |
---|
Registrovaný: 09.04.08 Prihlásený: 11.11.24 Príspevky: 642 Témy: 98 | 98 Bydlisko: Kosice |
Zdravim,
vo tvorbe www som uplny zaciatocnik, takze moja otazka sa pre vacsinu z vas bude zdat banalna.
Ide o to, ze potrebujem vytvorit stranku, ktora bude mat vela podstranok. Tie budu v podstate rovnake, akurat sa bude menit urcite textove pole a zopar obrazkov.
Samozrejme, ze to robim cez css, ale rozmyslam nad tym, ze ak budem chciet v buducnosti zmenit nieco na stranke, tak prepisovat zdrojovy kod pre 50 stranok sa mi nebude chciet...
Takze sa chcem opytat, ci sa da vlozit do stranky nejakym sposobom externy txt subor, alebo resp mala podstranka.
Dik
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
cez html jedine pomocou framov ale to ti určite neodporúčam, takže nauč sa aspoň dačo z php a nebudeš mať problém Čo potrebuješ vedieť je len ako získať premennú z URL, ako ju spracovať (kvôli bezpečnosti) a ako zobraziť požadovanú stránku. Riešilo sa to už aj na tomto fóre viackrát, tak skús pohľadať. Nie je to nič ťažké a je to 1000x lepšie riešenie ako framy.
_________________ C#, PHP, ... |
|
Registrovaný: 03.04.08 Prihlásený: 10.12.19 Príspevky: 4667 Témy: 37 | 37 Bydlisko: Trnava |
_________________ Hmmm .... Hrošíček ... [Homer] |
|
Registrovaný: 09.04.08 Prihlásený: 11.11.24 Príspevky: 642 Témy: 98 | 98 Bydlisko: Kosice |
no cez framy som to robit nechcel, to je jasne...takze php...no dobre...potesili ste ma
|
|
Registrovaný: 09.04.08 Prihlásený: 11.11.24 Príspevky: 642 Témy: 98 | 98 Bydlisko: Kosice |
no skusam to include file cez php a sediviem. vie mi niekto povedat, preco sa mi index stranka nezobrazi s pozadovanym textom z menu.php?
index.php obsahuje:
Kód: <html> <body>
<?php include ("menu.php");?>
</body> </html> menu.php obsahuje Kód: <html> <body> bla bla </body> </html>
stranka index.php sa mi zobrazuje prazdna
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
to, čo chceš includovať, nesmie obsahovať HTML a podobné značky (samotné html značky áno, ale nie <html>, <body>...), ale len to, čo chceš doslova vložiť do includujúcej stránky, čiže...
adresárová štruktúra:
Citácia: img ____obrazok.jpg css ____style.css stranky ____menu.php ____stranka1.php index.php
obsah súboru index.php
Kód: <html> <head></head> <body> <?php include "stranky/menu.php"; ?> </body> </html>
obsah súboru stranka1.php Kód: <ul id="mojeMenu"> <li><a href="index.php?stranka=stranka2">Odkaz 1</a></li> <li><a href="index.php?stranka=stranka3">Odkaz 2</a></li> </ul>
ak to takto urobíš, tak pri prezeraní zdrojového kódu v browseri nájdeš toto: Kód: <html> <head></head> <body> <ul id="mojeMenu"> <li><a href="index.php?stranka=stranka2">Odkaz 1</a></li> <li><a href="index.php?stranka=stranka3">Odkaz 2</a></li> </ul> </body> </html>
_________________ C#, PHP, ... |
|
Registrovaný: 09.04.08 Prihlásený: 11.11.24 Príspevky: 642 Témy: 98 | 98 Bydlisko: Kosice |
no v index sa odvolavas na menu.php a potom pises o obsahu "stranka1.php" to je asi chyba, ci nie?
moj zapis z index.php:
Kód: <html> <head></head> <body> <?php include "stranky/stranka1.php"; ?> </body> </html>
zapis zo stranka1.php (ktora je v podadresari stranky) Kód: <ul id="mojeMenu"> <li><a href="index.php?stranka=stranka2">Odkaz 1</a></li> <li><a href="index.php?stranka=stranka3">Odkaz 2</a></li> </ul> index.php sa zobrazuje ako prazdna stranka, zdrojovy kod: Kód: <html> <head></head> <body> <?php include "stranky/stranka1.php"; ?> </body> </html>
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
hej, pôvodne som to písal ako stranka1.php, potom ma napadlo že si chcel vlastne menu tak som ti to chcel zjednodušiť a ako pozerám, zabudol som opraviť pointu si dúfam pochytil aj tak
počuj, taký detail ako ti na to tak pozerám... na akom serveri to skúšaš?
_________________ C#, PHP, ... |
|
Registrovaný: 09.04.08 Prihlásený: 11.11.24 Príspevky: 642 Témy: 98 | 98 Bydlisko: Kosice |
skusam to len u seba v pc....ziadny server
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
ok, takže sa vráť späť pri učení sa....
php je server-side jazyk, tj. MUSÍŠ mať nejaký server, pretože php beží na strane servera a ak to otvoríš len tak v prehliadači, php ti proste nebude fungovať
ak nemáš nejaký freehosting s php, stiahni si nejaký server na vývoj (napr XAMPP) a spúšťaj to cez to
_________________ C#, PHP, ... |
|
Registrovaný: 09.04.08 Prihlásený: 11.11.24 Príspevky: 642 Témy: 98 | 98 Bydlisko: Kosice |
no...nakoniec sme na to prisli (hlavne ty) php sa mi moc ucit nechce, som hladal na googli priamo veci na include file.
mam free hosting na php5.sk, tam to supnem.
diki moc
|
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | 27 |
walther píše: to, čo chceš includovať, nesmie obsahovať HTML a podobné značky (samotné html značky áno, ale nie <html>, <body>...), ale len to, čo chceš doslova vložiť do includujúcej stránky
prosim ta, preco v includovanom subore nemozu byt tagy <html>, <body>? ja to tak mam spravene a stranky mi funguju, zdrojak po otvoreni stranky ma spravnu strukturu, validator nehlasi ziadnu chybu.
menu.php:
Kód: <html> <head> </head> <body> <a href="stranka1.php">odkaz1</a> <a href="stranka2.php">odkaz2</a>
stranka1.php: Kód: <? include("menu.php"); ?> </body> </html> stranka2.php: Kód: <? include("menu.php"); ?> </body> </html> zdrojak po otvoreni stranky v prehliadaci: Kód: <html> <head> </head> <body> <a href="stranka1.php">odkaz1</a> <a href="stranka2.php">odkaz2</a> </body> </html>
|
|
Registrovaný: 03.04.08 Prihlásený: 10.12.19 Príspevky: 4667 Témy: 37 | 37 Bydlisko: Trnava |
venom2 ze by pretoto ? :
kirik píše: index.php obsahuje: Kód: <html> <body>
<?php include ("menu.php");?>
</body> </html> menu.php obsahuje Kód: <html> <body> bla bla </body> </html>
_________________ Hmmm .... Hrošíček ... [Homer] |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
venom2, prečo to riešiš takto? pokiaľ sa ti nepáčia predsa adresy v tvare "index.php?p=...", kde je problém použiť prívetivejšie url cez htaccess? to by si mal urobiť tak či tak a takto len zbytočne duplikuješ kód. všimni si čo sa ti vkuse opakuje... a miesto toho, aby si urobil jednu základnú šablónu (index.php s menu, hlavičkou, základnou štruktúrou) neustále replikuješ niečo čo imho v súbore menu.php nemá čo robiť.
_________________ C#, PHP, ... |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | 27 |
don jebot píše: venom2 ze by pretoto ? noo cize ak by zo suboru index.php vymazal <html> a <body> a z menu.php vymazal </html> a </body> tak by to bolo dobre nie? walther píše: venom2, prečo to riešiš takto? pokiaľ sa ti nepáčia predsa adresy v tvare "index.php?p=...", ..................
toto bolo zrejme smerovane na kirika
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
nie venom2, to bolo na teba, pretože to, čo dosiahneš týmto spôsobom includovania (do podstránok samotných includovať menu a hlavičku), je že sa môžeš odkazovať na súbory priamo a nemusíš mať v adrese index.php?p=..... Ak používaš tento spôsob SPOLU s adresami v tvare index.php?..., tak som potom z teba už vážne mimo a zodpovedne sa pýtam - PREČO to tak robíš? Osobne sa mi to vzpiera akejkoľvek programovacej logike. Opakuješ vkuse kód dokola, pričom by ti stačilo ten kód napísať len raz a includovať len to, čo naozaj treba.
Citácia: noo cize ak by zo suboru index.php vymazal <html> a <body> a z menu.php vymazal </html> a </body> tak by to bolo dobre nie?
sice nelogické, ale áno, fungovalo by to... s jedným detailom - na konci diskusie sme prišli na to, že kirik to skúšal bez použitia serveru, čiže by mu nepomohla ani svätená voda a aj tak by to nefungovalo
_________________ C#, PHP, ... |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
kirik píše: no skusam to include file cez php a sediviem. vie mi niekto povedat, preco sa mi index stranka nezobrazi s pozadovanym textom z menu.php? index.php obsahuje: Kód: <html> <body>
<?php include ("menu.php");?>
</body> </html> menu.php obsahuje Kód: <html> <body> bla bla </body> </html> stranka index.php sa mi zobrazuje prazdna a co tak miesto php vyuzit xslt ? toto uloz na lokal ako test.xml Kód: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="/test.xsl"?> <html> <head> <div style="border: 3px coral solid;"> <b>wwwwwwwwwww</b> <h1>ttttttttt</h1> </div> </head> <body> <div style="border: 3px green solid;"> <b>uuuuuuuuuuuu</b> <h1>mmmmmmmmmmmm</h1> </div> </body> </html> toto si uloz do toho isteho adresara ako test.xsl Kód: <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body>
<p>head part</p> <xsl:copy-of select="//head/node()" />
<p>body part</p> <xsl:copy-of select="//body/node()" />
</body> </html> </xsl:template>
</xsl:stylesheet>
napr cez IE si otvor test.xml, opera to standardne nezvlada. pri realnej prevadzke to samozrejme mozes riesit cez mod_xslt na strane servera.
prilis xslt neovladam no skusil som to a funguje.
|
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | 27 |
walther, s php som zaciatocnik, zatial sa to stale len ucim a moje skusenosti s php su na urovni novorodenca, preto mozem narabat iba s tym co najdem na nete alebo co mi poradia vo fore. Na nete som sa docital, ze include sluzi na vlozenie obsahu suboru do ineho suboru / stranky a ze sa pouziva najma tam kde sa urcita cast kodu opakuje (napr menu, navigacia) aby sa setril zdrojak. A takisto som nasiel aj tento priklad: http://www.tizag.com/phpT/include.php a teraz na rychlo aj tu dole http://lamp.fornax.sk/jazyky/php/funkcie/. Kedze ta prva stranka vyzera (aspon podla mna) doveryhodne a ze ju napisala aj osoba, ktora sa do toho aspon trochu vyzna a nie nejaky pubertak co za utorkovu noc narychlo nieco zbuchal stylom ctrl+c ctrl+v lebo v stredu potreboval referat, tak si myslim ze sa takto pouziva bezne a teda som to pouzil aj u seba.
Nehovorim ze to je 100% tuty fruty, ale funguje mi to. Ale urcite sa rad poucim, a ked tvrdis ze to je zle alebo z hladiska bezpecnosti nevhodne riesenie, rad prijmem kazdu radu .
walther píše: ................pričom by ti stačilo ten kód napísať len raz a includovať len to, čo naozaj treba.
nechapem co sa mi snazis povedat. Ved to menu.php mam napisane len raz a includujem to do ostatnych stranok, a to co includujem tak mi je treba . Ber do uvahy ze stale vychadzam z toho prikladu, ktoreho som tu dal link.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
nevravím, že je tvoje riešenie nefunguje, sám si si skúsil a vieš že by som klamal. To čo tvrdím je to, že to nepovažujem práve za najšťastnejšie riešenie a podľa mňa pre to nemáš skutočný dôvod aby si to tak robil. Pozri si príklad čo som ukázal kirikovi a porovnaj si to s tým, čo robíš ty.
Podstatný rozdiel je v tom, že v mojom príklade je jeden súbor, ktorý slúži ako šablóna (pre vysvetlenie to rozpíšem nech je to lepšie vidno)
Kód: <html> <head> <title>...</title> <meta....></meta> <script....></script> </head> <body> <div id="hlavny"> <div id="header"> <h1>Krasny hlavny titulok</h1> </div> <div id="lavy"> <ul id="menu"> <li><a href="index.php?p=daco">odkaz1</a></lil> <li><a href="index.php?p=daco2">odkaz2</a></lil> <li><a href="index.php?p=daco3">odkaz3</a></lil> </ul> </div> <div id="obsah_stranky"> <?php $premenna = bezpecnostna_funkcia($_POST["p"]); include $premenna; ?> </div> <div id="footer"> <span>Vyrobene v roku 2008</span> </div> </div> </body> </html>
Z tohto vidno, že všetky podstatné veci sa dejú v jednom súbore - index.php. Vidno, že tam máš nielen hlavičku a menu, ale kompletné rozvrhnutie stránky (header, menu, vymedzenie miesta pre obsah, footer). Keď pri takomto postupe includuješ podstránku, stačí ti includnuť naozaj len samotný obsah, ktorý patrí do <div id="obsah_podstranky"></div> - vkladáš doslova obsah podstránky podľa požiadaviek návštevníka stránky. To, čo robíš ty, je to, že máš každú stránku rozdelenú akoby na dve časti ktoré musíš stále spájať - vrchnú časť (hlavičku, menu...) + spodnú časť (samotný obsah a povedzme footer). Ak nie hneď, nevyhnuteľne prídeš na viacero obmedzení: - ak chceš pridať alebo zmeniť spodnú časť stránky, musíš zmeniť VŠETKY podstránky (napr ak chceš pridať footer) - horšie na udržiavanie a upravovanie kódu - čo keď budeš chcieť zmeniť layout (rozvrhnutie) celej stránky? Na to potrebuješ upraviť aj vrchnú časť, aj spodnú, inými slovami, budeš musieť pracne editovať všetky podstránky. - väčšia neprehľadnosť - nevidíš hneď celú štruktúru webstránky, na to potrebuješ mať otvorené aspoň dva súbory a podobne... Miesto toho, aby si includoval povedzme len: Kód: Tradadada dada moj obsah podstranky.
includuješ rovno: Kód: <?php include "menu.php"; ?> <div id="obsah_stranky"> Tradadada dada moj obsah podstranky. </div> <div id="footer"> <span>Vyrobene v roku 2008</span> </div> </body> </html>
Všetko okrem "Tradadada dada moj obsah podstranky." musíš opakovať pre každú podstránku zvlášť. Možno máš teraz nejakú malú, ale keď ti začnú pribúdať podstránky, začneš na to nadávať.
Podľa mňa máš nezmyselne rozpoltený kód bez toho, aby si to vedel vyargumentovať že "prečo" a len si tým do budúcnosti budeš pridávať roboty ktorej sa dalo predísť plánovaním dopredu.
Objasnil som ti už dostatočne svoje výhrady? Ak nie, kľudne sa pýtaj...
_________________ C#, PHP, ... |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | 27 |
walther dakujem ti velmi pekne za ochotu , spisal si to tak dobre ze nebol problem pochopit to a ked na to tak pozeram tak naozaj to je jednoduchsie, prehladnejsie a celkovo ovela lepsie. Len pre uplnost tu hodim zdrojak
stranka1.php ; stranka2.php ; stranka3.php:
Kód: <? obsah (pod)stranky ?> menu.php: Kód: <html> <head>.......</head> <body> <div id="prvy_odkaz"> <a href="menu.php?p=odk1">odkaz1</a> </div> <div id="druhy_odkaz"> <a href="menu.php?p=odk2">odkaz2</a> </div> <div id="treti_odkaz"> <a href="menu.php?p=odk3">odkaz3</a> </div> <div id="obsah"> <? $stranka=$_GET['p']; if ($stranka=="odk1" or $stranka=="odk2" or $stranka=="odk3") { include ("$stranka".".php"); } else die ("nesprávna URL"); ?> </div> </body> </html> s bezbecnostnymi funkciami zatial nemam absolutne ziadne skusenosti, ale napadlo ma taketo riesenie, ak nie je dostacujuce vedel by si mi prosim ta dat nejaku napovedu ? EDIT: teraz ma napadlo este take cosi: aby potencionalny hacker nevidel nazov stranky/suboru v URL pouzijem toto: Kód: <a href="menu.php?p=1">odkaz1</a> <a href="menu.php?p=2">odkaz2</a> <a href="menu.php?p=3">odkaz3</a> <div id="obsah"> <? $stranka=$_GET['p']; if ($stranka=="1") { include ("stranka1.php"); } elseif ($stranka=="2") { include ("stranka2.php"); } elseif ($stranka=="3") { include ("stranka3.php"); } else die ("nesprávna URL"); ?> </div>
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
čo sa týka bezpečnosti, skús popozerať toto fórum, sekcia php, najčastejšie používané skripty myslím... sú tam zaujímavé veci čo by ti mohli pomôcť
no a čo sa týka url, ideálne by bolo použiť asi url rewriting, tam si s tým môžeš potom robiť čo sa ti zachce, budeš mať lepšie SEO výsledky a dosiahneš ešte aj to čo chceš - skryť názvy súborov
_________________ C#, PHP, ... |
|
Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| [ Choď na stránku: 1, 2 ] v Novinky | 45 | 3019 | 25.12.2009 11:20 Jeffo | | v HTML, XHTML, XML, CSS | 6 | 788 | 09.08.2008 14:47 stefanides | | v JavaScript, VBScript, Ajax | 1 | 594 | 18.12.2018 8:19 BX | | v PHP, ASP | 4 | 849 | 01.08.2009 21:26 Tominator | | v Redakčné systémy | 8 | 498 | 07.08.2014 10:10 capricorn7 | | v Notebooky a netbooky | 29 | 736 | 02.10.2012 15:29 maugggly | | v HTML, XHTML, XML, CSS | 3 | 576 | 04.01.2008 0:34 kmsa | | v PC skrinky a zdroje | 2 | 363 | 09.03.2017 16:11 nitronus | | v ATI/AMD grafické karty | 3 | 471 | 29.08.2012 20:42 BOBO415 | | v Audio programy | 1 | 263 | 11.02.2014 13:24 ac.milan | | v Novinky | 18 | 1157 | 11.02.2010 13:27 Bluedragon12 | | v Databázy | 11 | 1276 | 25.08.2009 20:48 bmatias | | v HTML, XHTML, XML, CSS | 7 | 865 | 27.09.2009 17:45 Ďuri | | v Notebooky a netbooky | 7 | 619 | 30.08.2011 9:17 screw | | v Internetový marketing, SEO, reklama | 1 | 485 | 22.06.2016 17:03 killer | | v Siete | 9 | 583 | 28.10.2010 13:47 vprint |
|