[ toplim @ 30.11.2007. 21:21 ] @
Dakle u Joomla cms-u svuda se srece a sta znaci?
[ Miroslav Ćurčić @ 30.11.2007. 22:16 ] @
Joomla (mambo) ima veliki broj pomoćnih skripti.
Svaka od njih je izložena riziku da neko u brovzer unese njenu direktnu adresu i pozove je kao samostalan skript.
Ovom funkcijom se definiše oznaka/fleg u glavnim skriptama (koje i treba da se direktno pozivaju),
a one pomoćne na svom početku imaju proveru postojanja te oznake da bi sprečile takav tip zloupotrebe.

Ako pitaš za značenje funkcije "define" moraćeš pogledati manual.
[ Nemanja Avramović @ 01.12.2007. 09:22 ] @
http://www.php.net/define
[ Man-Wolf @ 01.12.2007. 14:11 ] @
Evo ja da ti malo pojednostavim ono o cemu se radi ( stalno sam sretao to po SMF-u i kad sam skapirao o cemu se ustvari radi, odma sam primenio :-)) )

Ovako:

Ja recimo imam Index.php. Koriscenjem atributa (Index.php?strana=slike) ja preko index-a pozivam stranicu Slike.php. Znaci, Index.php sadrzi:

Code:

if $_GET['strana'] == slike {
  include 'Slike.php';
}


Valjda je jasno da ne zelim da se skripta direktno poziva sa (mojsajt.com/Slike.php), vec preko Index-a. E sad, ako korisnik ukuca u browser (mojsajt.com/Slike.php), skripta ce odmah prekinuti da se izvrsava, zato sto sadrzi sledeci kod :P

Code:

Slike.php:

if !defined('zastita') { 
  die 'Nece moci ove noci .....'
}



Code:

Index.php:

define ('zastita', 1);



Nadam se da ti je jasna poenta :-)) Ako se Slike.php pozove direktno, konstanta 'zastita' nije definisana ( definise se jedino pozivom index.php ) i izvrsavanje skripte se prekida :-))

Izvinjavam se sto sam se malo raspisao :-))
[ toplim @ 02.12.2007. 10:03 ] @
E hvala ti Man-Wolf. Znaci ako je 1 onda je to true a ako je nula znaci preskkace se zastita. Tako sam ja razumeo. Nek me neko ispravi ako gresim.
[ Miroslav Ćurčić @ 02.12.2007. 19:35 ] @
Grešiš, ako je uopšte definisana konstanta s tim imenom onda prolazi zaštitu, ako nema takve konstante onda ne prolazi.
Mogao je bez problema staviti u nju i neki string, recimo: "grešiš, ovaj grešiš silno sine".