Cez aku funkciu docielim nazov suboru na ktorom sa nachadzam?
Potrebujem totizto docielit, ze clovek sa bude moct pohybovat iba po index.php.. Zjednodusil som si to tak, ze vsetky kategorie a pod. budu cez index.php?cat= a pod. .. Lenze, kedze ja to mam cez podmienky v indexe, aby nebol prilis dlhy tak som dal vsade do podmienok require once na nejake subory.. Ja potrebujem docielit, aby ked clovek da na subor, na ktory odkazuje index.php tak aby ked nanho ide, tak aby nanho slo ist iba cez index.php.. napriklad index.php?stranka=kategorie , a kategorie.php . ja chcem len aby sa tam dalo dostat iba cez to index.php.. Preto chcem dat nejaku superglobalnu podmienku ze ak sa nachadza na inom subore nez index.php nech ho hodi na index.php. Aku funkciu mam vybrat?
Fórum › PHP
Cez aku funkciu docielim nazov suboru na ktorom sa nachadzam?
Nejlíp mod_rewrite (modul apache). Tím si můžeš vytvořit pravidla, pomocí kterých dojde k automatickému směrování všech požadavků na index.php.
kdyz se mi nechce nahazovat mod_rewrite nebo scriptalias tak pouzivam pouhy /index.php/path/a/tak/dale
to co je za index.php je pak v promenne $_SERVER['PATH_INFO']
EDIT: ale koukam ze sem mozna nepochopil o co mu jde... nazev souboru je pres $_SERVER['SCRIPT_NAME'] - pripadne v kombinaci s myslim basename..
jinak sem to resil i pomoci definovani konstanty v index.php .. napriklad
index.php: define('IN_SCRIPT',1);
include.php: if ( !defined('IN_SCRIPT') ) die('script nelze spustit samostatne');
To KIIV : Ale potom se ti zobrazí jen chybová hláška apache. Myslím, že mod_rewrite, příp. nějaká alternativa je asi vhodnější, i když ze začátku určitě pracnější.
Symbolická konstanta __FILE__
http://us3.php.net/manual/en/language.constants.predefined.php
Preto chcem dat nejaku superglobalnu podmienku ze ak sa nachadza na inom subore nez index.php nech ho hodi na index.php. Aku funkciu mam vybrat?
Například já to řeším tak, že všchno, co inkluduji do stránky mám zvlášť ve složce, kde mám následně soubor s .htaccess se zablokováním přístupu pro všechny. Funguje to dobře, PHP si z té složky klidně inkluduje soubory, ale uživatel tam nemá přístup přes browser.
DragonBehemont napsal:
Preto chcem dat nejaku superglobalnu podmienku ze ak sa nachadza na inom subore nez index.php nech ho hodi na index.php. Aku funkciu mam vybrat?
Například já to řeším tak, že všchno, co inkluduji do stránky mám zvlášť ve složce, kde mám následně soubor s .htaccess se zablokováním přístupu pro všechny. Funguje to dobře, PHP si z té složky klidně inkluduje soubory, ale uživatel tam nemá přístup přes browser.
das mi prosimta obsah toho .htacess? toto sami zda ako najjednoduchsie
Dik, urcite to skusim.. Apache moc neovladam, cize s tym mod_rewrite by mi to podla mna urcite nevyslo. Toto uplne staci, zakladni uzivatelia webu by podla mna urcite nehladali cez browser ktory sluzi iba ako doplnok, a popripadne ak pridu nahodou na taku zlozku a toto im vypise tak by im podla mna nevadilo url prepisat na defaultnu. Skusim, potom dam vediet...
a takto, na zaciatok kazdeho suboru?
if ($_SERVER[SCRIPT_NAME]!="index.php") { header("Location: index.php"); exit(); }
marioff napsal:
a takto, na zaciatok kazdeho suboru?if ($_SERVER[SCRIPT_NAME]!="index.php") { header("Location: index.php"); exit(); }
dik skusim.. nn.. mam jeden subor na ktory odkazuju vsetky.. staci ak to hodim do neho :)
edit >> dako to nefunguje.. napise Slucka pri presmerovani, teda podmienka je neplatna donekonecna , aj ked je na indexe
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kontrola cez funkciu — založil Anonym
Príliš dlhý názov súboru — založil lukas.balaz
Ako poslem informacie($_POST napr.) cez funkciu header? — založil Lordest
Ako dostať názov súboru do premennej typu String ? :? — založil Michal Zavodny
Otvorenie súboru cez GUI — založil michal
Moderátoři diskuze