» »

Več strani v eni!

Več strani v eni!

Tito ::

Do sedaj sem imel stran narejeno izklučno iz html ja, zdaj sem pa se odločil da bom začel delat tudi v PHP ju in zanima me če lahko s kodo () nardiš da se na eni html strani npr. index.php odvija vse in potem ko klikneš na link se spremeni samo vsebina () in na tretji link ().....

Če se da in če se komu da razlagat vas lepo prosim!

rc-car ::

Seveda se da. Imaš več načinov kako se tega lotit.

Lahko imaš eno osnovno stran z designom, menijem itd. Potem pa iz statusne vrstice ($_GET) prebereš recimo kater file includa za besedilo1 itd...

Lahko imaš več strani z designom, recimo header.php, menu.php, footer.php in potem na vsaki strani poleg besedila, ki ga hočeš izpisat includaš zraven še te fajle.

Možnosti je veliko, ti moraš samo izbrati katera ti najbolj ustreza..
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

Tito ::

Ustreza mi tale (Lahko imaš eno osnovno stran z designom, menijem itd. Potem pa iz statusne vrstice ($_GET) prebereš recimo kater file includa za besedilo1 itd...) sam nevem kje se jo lotit, tko da bi rabu natančne napotke!

Tito ::

Ej, registreran si na isti dan kot imam rojstni dan!:)) :)) :))

rc-car ::

Ej, registreran si na isti dan kot imam rojstni dan!

Ti si pa registriran eno leto in deset dni za mano :)

Ok, back to the subject.

Torej stvar izvedeš nekako takole:
Narediš index.php kjer imaš noter cel layout strani. Tam kjer hočeš includati besedilo potem napišeš recimo include $_GET['besedilo']; (če imaš PHP starejši od 4.1.0 potem namesto $_GET uporabi $HTTP_GET_VARS).
Link na to stran z besedilom pa zgleda takole: index.php?besedilo=fajl_z_besedilom.php.
Če hočeš vstavljati več različnih fajlov, potem pač napiši več includov, link pa tako: index.php?besedilo1=prvi.php&besedilo2=drugi.php&besedilo3=tretji.php
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

Tito ::

zdej mi dela s tisto bližnico, osnovna stran mi pa javi napako:
Undefined index: besedilo in D:\WWW\Podganja zalega!\index.php on line 207

Warning: Failed opening '' for inclusion (include_path='.;c:\php4\pear') in D:\WWW\Podganja zalega!\index.php on line 207

Zgodovina sprememb…

  • spremenil: Tito ()

Tito ::

aja, pa še neki, ali lahko nardiš da ljudem nebo toliko reči gor prikazoval (ker zna bit mal grdo!)

Zgodovina sprememb…

  • spremenil: Tito ()

rc-car ::

Tam pri errorju nimaš definiranga besedila... Mal poglej kako si naredu to... al pa pasti kodo.

Če pa nočeš da se ti vse tist gor kaže pa imaš na začetku opisan en drugi način. Tam vidiš samo imena datotek. (U bistvu bi tut tuki lahko naredu z POST method, ampak tist je... bedno...).

:)
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

Tito ::

ah sej ni tok hudo! Bom mel kar tko! A drgač pa kako pa defineram da se bo pod index.php odpru prvo besedilo pol pa ko bom dal bližnico (index.php?besedilo2=besedilo2.htm) mi bo pa prvega nadomestil drugi?

rc-car ::

if (isset($_GET['besedilo'])) {
include $_GET['besedilo'];
} else {
include "prvo_besedilo.php";
};
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

Tito ::

Cool hvala, morem se mal lotet priročnikov, drgač html še kr obvladam sam skos delam v DW-ju tko da je php kar težak zalogaj (Tudi c++ mi ni znan tako da...)

darh ::

rc-car:
stran.php?besedilo=/etc/passwd


ne mi prosm pisat takih traparij, ker zavajaš userje :D
Excuses are useless! Results are priceless!

rc-car ::

xbite: Je kdo rekel, da hoče secure? :D
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

darh ::

dobr se branš, ampak useen priznaj da imam point...

rajš dejte onim fajlom k jih includate kak prefix, recimo podčrtaj al pa kej takega, pol pa includate tkole:

include "_".$_GET['besedilo'].".html";


Tko da ne boste mogli dodajat drugega kot datoteke s končnico .html in prvim znakom _

... whola.. :)
Excuses are useless! Results are priceless!

rc-car ::

Seveda imaš point. Ampak njega je samo zanimal kako se to includa...

Drugače pa je še lepše rešeno, če imaš povsod iste končnice in potem samodejno dodaš končnico

include $_GET['besedilo'].'.php';

Tega se pa ne da okol prinest, ali pač?
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

Loki ::

kaj pa, ce je $_GET admin ter na teh straneh nima nobenega preverjanja avtorizacije/ avtentikacije?

darh ::

če je $_GET admin ?
kako to mislš
Excuses are useless! Results are priceless!

Loki ::

ok res sem bil mal nejasen.
mislil sem takole:
recimo, da user prek browserja klice tole:
http://mojsajt.com/index.php?what=forum

index.php sprocesira request ter vstavi _forum.inc (_ je za zagotavljanje osnovne varnosti - rc-carjev predlog).

recimo, da jaz spremenim what=forum v what=admin, skripta bi potem includala _admin.inc, ki (cisto slucajno) nebi imel nobenega preverjanja avtorizacije userja (recimo da bi bil pac bolj simple, saj je ze rc-car poudaril, da ni rekel, da hoce secure) in jaz bi imel celoten admin sektor pod kontrolo.

to naj bi bil pac bolj simple scenarij, saj ne mores verjet, kaj vse lahko vidis v real-life.

darh ::

jah... domišlije pa nimaš...


kot prvo, da ne bo pomote... kdo ti je predlagal '_' na začetku imena datoteke ?? 8-)


Glede _admin.inc datoteke.... če ne boš notr uporabil zaščite.. je to tvoj problem .... uporabi jo... če nebi rad da uporabniki dostopajo do te datoteke kot do drugih (torej z uporabo include funkcije), jo pač izključi iz možnih includov, tako da NE uporabiš prefixa '_'... simple as that...

kaj sploh kompliciraš?!
Excuses are useless! Results are priceless!

rc-car ::

Loki, na take reči je pač treba pazit.

Isto bi bilo, če bi imel pač datoteke polinkane normalno kot recimo besedilo.php, forum.php, zraven v mapi pa še nezaščiten admin.php katerega nebi bilo težko odkrit. Stupid.

Rešitev za include ti je pa že xbite povedal...

Pa ne kompliciraj tolk...
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PHP cookie problem

Oddelek: Izdelava spletišč
81336 (1031) Ziga Dolhar
»

[php-html] začetniški problemi

Oddelek: Programiranje
301543 (1256) Ziga Dolhar
»

Osnovno php vprašanje

Oddelek: Izdelava spletišč
141596 (1317) R33D3M33R
»

Izdelava menija? (strani: 1 2 )

Oddelek: Izdelava spletišč
767232 (6239) Jackass
»

[PHP]Include

Oddelek: Izdelava spletišč
61219 (1141) |ViPeR|

Več podobnih tem