Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 17.06.2008 16:14

Toto není dotaz, naopak všeobecná rada na otázku "Ako spraviť prepínanie stránok na webe, aby som v nich nemusel opakovat obsah - menu, hlavička atd?" Kedysi sa na to používali rámy, dnes sa používá php funkcia include. Jej použitie je tak jednoduché, že sa toho nemusí báť ani niekto bez znalosti php.

Dajme tomu ze chcem niaku takúto stránku:

Prepínanie stránok na webe


Potrebujem záhlavie, menu, obsah a pätu to by sa vyriešilo veľmi ľahko:

Kód:
<html>
<head>
<title>Titulok</title>
</head>
<body>
<div id="Zahlavie">
 --- Záhlavie ---
</div>
<div id="menu">
 --- Menu ---
</div>
<div id="obsah">
 --- Obsah ---
</div>
<div id="pata">
 --- Päta ---
</div>
</body>
</html>


Do obsahu dam funkciu include() cize by to malo byt niako takto:

Kód:
<html>
<head>
<title>Titulok</title>
</head>
<body>
<div id="Zahlavie">
 --- Záhlavie ---
</div>
<div id="menu">
 --- Menu ---
</div>
<div id="obsah">
 <?php include("stranka.html"); ?>
</div>
<div id="pata">
 --- Päta ---
</div>
</body>
</html>


Do stranka.html dam iba to co sa ma zobrazit v obsahu.
Dalej odkazy v menu budu nasledovne:

Kód:
<a href="?odkaz=1">Odkaz 1</a>
<a href="?odkaz=2">Odkaz 2</a>
<a href="?odkaz=3">Odkaz 3</a>
<a href="?odkaz=4">Odkaz 4</a>
<a href="?odkaz=5">Odkaz 5</a>


A aby sme tomu vyhoveli kod by mal byt niaky takyto:

Kód:
<html>
<head>
<title>Titulok</title>
</head>
<body>
<div id="Zahlavie">
 --- Záhlavie ---
</div>
<div id="menu">
<a href="?odkaz=1">Odkaz 1</a>
<a href="?odkaz=2">Odkaz 2</a>
<a href="?odkaz=3">Odkaz 3</a>
<a href="?odkaz=4">Odkaz 4</a>
<a href="?odkaz=5">Odkaz 5</a>
</div>
<div id="obsah">
<?php
 $odkaz = $_GET['odkaz']; // $odkaz = ?odkaz
 if(empty($_GET) OR empty($odkaz))
{
   include("uvod.html"); // Inkludni uvod.html do obsahu
} else {
 if(isset($odkaz)) // $odkaz bol definovany
{
   include($odkaz.".html") or die("Chyba 404 !"); /* [bodka] znazornuje + cize ak by bol teraz odkaz 1 napr. index.php?odkaz=1 inkludlo by 1.html. Ak includovany subor neexistuje alebo prislu k poruche vytlaci chybu a skoci sa cele parsovanie skriptu. */
}
}
?>
</div>
<div id="pata">
 --- Päta ---
</div>
</body>
</html>


No to by bolo. Ale aj tak vacsina ludi tvrdi ze sa nebude menit title. Aj pri frames sa nemenilo ale ja som sa vynasiel a je to velmi lahke aby sa title menilo, tu je uz definitivny kod:

Kód:
<html>
<head>
<?php
$title = $_GET['odkaz'];
$title = str_replace("1", "- O mne", $title);
$title = str_replace("2", "- Kontakt", $title);
echo <<< HTML
<title>Moj web $title</title>
HTML;
?>
</head>
<body>
<div id="Zahlavie">
 --- Záhlavie ---
</div>
<div id="menu">
<?php include("menu.html"); // Inkludni menu s odkazmi ?>
</div>
<div id="obsah">
<?php
 $odkaz = $_GET[''odkaz']; // $odkaz = ?odkaz
 if(empty($_GET) OR empty($odkaz))
{
   include("uvod.html"); // Inkludni uvod.html do obsahu
} else {
 if(isset($odkaz) AND File_Exists($odkaz."html")) // $odkaz bol definovany a uvedeny subor existuje
{
   include($odkaz.".html"); /* [bodka] znazornuje + cize ak by bol teraz odkaz 1 napr. index.php?odkaz=1 inkludlo by 1.html. */
} else
{

 include("404.html"); // Inkludni error 404

}
}
?>
</div>
<div id="pata">
 --- Päta ---
</div>
</body>
</html>


Miesto odkaz=1 atd.. mozem byt aj odkaz=o-mne. Samozrejme kazdy si ho este musi upravit tak ako mu vyhovuje ...

Zhrnutie clanku:
Naco budem robit vela dokumentov napr. index.html, o-mne.html atd. ?
Ked chcem nieco zmenit v menu alebo zahlavie alebo nieco ine moze ma aj urvat kym to vo vsetkych dokumentoch spravim. Niekedy sa proti tomuto pracovalo s frames ktore menili tak ako includes len urcitu cast. Bolo to ale nedostacujuce. Teraz je modernejsia moda a s nou aj jazyk php a jeho funkcia include(). Vsetko co frames nemaju to include() rozhodne ma ; a je tak lahka a jednocuha,ze sa jej nemusi bat ani programator bez nalosti php.


Offline

Užívateľ
Užívateľ
Prepínanie stránok na webe

Registrovaný: 04.04.08
Prihlásený: 27.02.12
Príspevky: 531
Témy: 27
Bydlisko: Nitra
Príspevok NapísalOffline : 17.06.2008 16:19

Zdá sa mi, že tu máš chybu -
Kód:
$odkaz = $_GET[''odkaz']; // $odkaz = ?odkaz
malo by byť
Kód:
$odkaz = $_GET['odkaz']; // $odkaz = ?odkaz


Pre pochopenie, máš tam 2x '







_________________
V príprave...
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok Napísal autor témyOffline : 17.06.2008 17:07

Dik ale ... to uz musi spravit mod ... na to totiz uz nedokazem upravit ...


Offline

Skúsený užívateľ
Skúsený užívateľ
Prepínanie stránok na webe

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 17.06.2008 18:20

Asi to tu už bolo. :roll: http://www.pcforum.sk/frame-vt31728-30.html#287683







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Prepínanie stránok na webe

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 17.06.2008 18:29

a co tak pomocou tohoto?
Kód:
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX.");return null;}
}


Offline

Skúsený užívateľ
Skúsený užívateľ
Prepínanie stránok na webe

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 17.06.2008 18:34

A čo tak robiť stránky trochu prístupné?







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Prepínanie stránok na webe

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 17.06.2008 18:44

je natom nieco zle??







_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
Offline

Skúsený užívateľ
Skúsený užívateľ
Prepínanie stránok na webe

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 17.06.2008 18:49

No áno, keďže by si to chcel robiť AJAXOM, ľudia s nietakúplnebežnými nastaveniami by boli ľudovo povedané "v keli", pretože by sa im napísala krásna hláška "Your browser does not support AJAX". AJAX je fajn vec, ale nie je to nástroj na každučkú vec na webe a toto je jednoducho prípad výlučne server-side skriptov.

Odstrihol by si od webu ľudí, ktorí nemajú zapnutý JS (ok, tých je málo), ľudí ktorí používajú nie úplne štandardné prehliadače (napr. ľudí s mobilmi, tých je stále viac a viac) a za to by si získal o pár bajtov menší request (čo je úplné nič).







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Prepínanie stránok na webe

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 17.06.2008 18:56

no vidis to nechodili by ti tam aspon mobile...dobry napad s tym ajaxom


Offline

Čestný člen
Čestný člen
Prepínanie stránok na webe

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1752
Témy: 17
Príspevok NapísalOffline : 17.06.2008 19:54

Citácia:
Kedysi sa na to používali rámy, dnes sa používá php funkcia include
ja len, ze include a frames su dve tak rozdielne veci, ze nemaju nic spolocne.
skor by som bol za tvrdenie: kedysi sa pouzivali ramy, dnes sa pouziva ajax.







_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 19.06.2008 14:27

prečo suchy je to dobre kedy si sa na tieto hlúposti využivali frame alebo sa vypisovalo všetko ...
dnes sa to robí include, require alebo ako chceš ... ale php neslúži iba na to


Offline

Čestný člen
Čestný člen
Prepínanie stránok na webe

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1752
Témy: 17
Príspevok NapísalOffline : 19.06.2008 14:53

este raz opakujem, ze frame ma uplne iny vyznam ako include. pri frame dosiahnes to, ze sa ti obnovi iba cast stranky, preto pisem, ze dnes sa to nahradza skor ajaxom, pri ktorom vies tiez docielit aby sa ti obnovila len cast stranky.
naopak include len zahrna subor do ineho suboru a vysledny vystup sa tvari ako jeden subor, pokazde sa musi obnovit cely. dalej mi ukaz ako premennu z jedneho frame pouzivas v druhom.







_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 19.06.2008 15:54

fajn môžeš môj starý vymazať ...


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok Napísal autor témyOffline : 19.06.2008 17:47

suchy píše:
este raz opakujem, ze frame ma uplne iny vyznam ako include. pri frame dosiahnes to, ze sa ti obnovi iba cast stranky, preto pisem, ze dnes sa to nahradza skor ajaxom, pri ktorom vies tiez docielit aby sa ti obnovila len cast stranky.
naopak include len zahrna subor do ineho suboru a vysledny vystup sa tvari ako jeden subor, pokazde sa musi obnovit cely. dalej mi ukaz ako premennu z jedneho frame pouzivas v druhom.


A co tak torichu logiky ?
Ved iba cast stranky ale include tiez az nato ze sa cela stranka znova nacita a podla mna je to lepsie lebo ked je navsetvnik na stranke a ty zrazu zmenis menu tak sa mu to ukaze co by sa pri frames nedalo a sychy ak budes taky laskavy tak mi oprav tu chybu o ktorej bola rec v druhom prispevku.


Offline

Čestný člen
Čestný člen
Prepínanie stránok na webe

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1752
Témy: 17
Príspevok NapísalOffline : 19.06.2008 20:02

ja nehovorim, ze include je zly. ja len poukazujem na to, ze tu porovnavate dve veci, z ktorych kazda sluzi na nieco ine.
btw chybu som opravil :)







_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.08
Prihlásený: 11.12.19
Príspevky: 84
Témy: 20
Príspevok NapísalOffline : 05.07.2008 17:39

zdravim skusal som tento anvod ale volako mi to nejde ja mam predstavu nieco takeho ze by som mal jeden index.php kde by boli kody atd vsetko nahodne a ked kliknete na nejaky link v menu tak to vyda odkaz www.link.sk/index.php?page=faq a v tom faq.php by bol cisto len text a nacitalo by ho do tak isot ako ten index.php len by sa tam zmenil text neviem ako este polopatisticky vam to vysvetlit ak nepochopite pls ale aj tak pomozte


Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. prepinanie stranok bez reloadu

v JavaScript, VBScript, Ajax

7

954

27.10.2008 22:05

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepinanie stranok - include a podobne...

v PHP, ASP

16

821

21.04.2008 14:40

whitewash Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepinanie grafik

v nVidia grafické karty

6

598

20.09.2013 16:49

jtbs Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepinanie grafik

v Notebooky a netbooky

1

316

23.08.2014 19:27

Fever Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PREPINANIE GRAFIK

v Notebooky a netbooky

15

1238

18.10.2009 22:12

ScorpionSX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepínanie launcherov

v Smartfóny a tablety

2

311

31.05.2013 12:05

ivann1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepínanie obrazoviek

v Monitory, televízory a projektory

1

298

25.02.2021 12:54

medove Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Automaticke prepinanie jazyka

v PHP, ASP

1

689

16.12.2011 17:52

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zvlastne prepinanie klavesnice

v Externé zariadenia

1

318

25.09.2020 7:57

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. prepinanie grafickych kariet

v ATI/AMD grafické karty

13

2311

05.11.2010 8:55

skrblik99 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunkčné prepínanie užívatelov

v Operačné systémy Microsoft

1

565

04.02.2011 11:57

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepinanie medzi grafikami

v nVidia grafické karty

5

472

19.01.2018 14:01

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. prepinanie pomocov JS

v JavaScript, VBScript, Ajax

3

792

06.07.2008 17:51

Blackdevil Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Samovolne prepínanie užívatela

v Operačné systémy Microsoft

3

375

15.08.2012 13:37

killer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepínanie grafickej karty

v nVidia grafické karty

5

2096

17.01.2012 16:11

ReSiZeR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rychle prepinanie klavesnice

v Operačné systémy Unix a Linux

4

2868

29.09.2009 20:25

Igor Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra