[ Príspevkov: 16 ] 
AutorSpráva
Offline

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

Registrovaný: 28.02.07
Príspevky: 358
Témy: 25 | 25
Bydlisko: Podvysoká, ...
NapísalOffline : 17.06.2008 16:14 | Prepínanie stránok na webe

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: 532
Témy: 27 | 27
Bydlisko: Nitra
NapísalOffline : 17.06.2008 16:19 | Prepínanie stránok na webe

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

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

Registrovaný: 28.02.07
Príspevky: 358
Témy: 25 | 25
Bydlisko: Podvysoká, ...
Napísal autor témyOffline : 17.06.2008 17:07 | Prepínanie stránok na webe

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 17.06.2008 18:20 | Prepínanie stránok na webe

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 | 6
NapísalOffline : 17.06.2008 18:29 | Prepínanie stránok na webe

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 17.06.2008 18:34 | Prepínanie stránok na webe

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 | 6
NapísalOffline : 17.06.2008 18:44 | Prepínanie stránok na webe

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 17.06.2008 18:49 | Prepínanie stránok na webe

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 | 6
NapísalOffline : 17.06.2008 18:56 | Prepínanie stránok na webe

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: 1757
Témy: 17 | 17
NapísalOffline : 17.06.2008 19:54 | Prepínanie stránok na webe

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: 3991
Témy: 96 | 96
NapísalOffline : 19.06.2008 14:27 | Prepínanie stránok na webe

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: 1757
Témy: 17 | 17
NapísalOffline : 19.06.2008 14:53 | Prepínanie stránok na webe

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: 3991
Témy: 96 | 96
NapísalOffline : 19.06.2008 15:54 | Prepínanie stránok na webe

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


Offline

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

Registrovaný: 28.02.07
Príspevky: 358
Témy: 25 | 25
Bydlisko: Podvysoká, ...
Napísal autor témyOffline : 19.06.2008 17:47 | Prepínanie stránok na webe

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: 1757
Témy: 17 | 17
NapísalOffline : 19.06.2008 20:02 | Prepínanie stránok na webe

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ý: 31.05.16
Príspevky: 81
Témy: 19 | 19
NapísalOffline : 05.07.2008 17:39 | Prepínanie stránok na webe

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


 [ Príspevkov: 16 ] 


Prepínanie stránok na webe



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

757

27.10.2008 22:05

Tominator

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

Prepinanie stranok - include a podobne...

v PHP, ASP

16

624

21.04.2008 14:40

whitewash

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

PREPINANIE GRAFIK

v Notebooky a netbooky

15

989

18.10.2009 22:12

ScorpionSX

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

Prepinanie grafik

v nVidia grafické karty

6

270

20.09.2013 16:49

jtbs

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

Prepinanie grafik

v Notebooky a netbooky

1

108

23.08.2014 19:27

Fever

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

Prepínanie launcherov

v Smartfóny a tablety

2

118

31.05.2013 12:05

ivann1

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

prepinanie grafickych kariet

v ATI/AMD grafické karty

13

1849

05.11.2010 8:55

skrblik99

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

259

04.02.2011 11:57

walther

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

prepinanie pomocov JS

v JavaScript, VBScript, Ajax

3

592

06.07.2008 17:51

Blackdevil

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

Prepínanie Grafickych kariet

v nVidia grafické karty

3

399

18.08.2012 17:56

DJ_POWEER

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

Automaticke prepinanie jazyka

v PHP, ASP

1

419

16.12.2011 17:52

shaggy

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

rychle prepinanie klavesnice

v Operačné systémy Unix a Linux

4

2380

29.09.2009 20:25

Igor

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

Samovolne prepínanie užívatela

v Operačné systémy Microsoft

3

120

15.08.2012 13:37

killer

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

Prepínanie grafickej karty

v nVidia grafické karty

5

1601

17.01.2012 16:11

ReSiZeR

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

prepínanie strán help

v Redakčné systémy

7

768

10.04.2008 16:22

sparco8888

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

prepinanie klavesnice sk/en

v Operačné systémy Microsoft

3

19365

17.11.2009 18:19

prandof



© 2005 - 2017 PCforum, edited by JanoF