Cez aku funkciu docielim nazov suboru na ktorom sa nachadzam? – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Cez aku funkciu docielim nazov suboru na ktorom sa nachadzam? – PHP – Fórum – Programujte.comCez aku funkciu docielim nazov suboru na ktorom sa nachadzam? – PHP – Fórum – Programujte.com

 

Lordest0
Super člen
12. 5. 2009   #1
-
0
-

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?

Nahlásit jako SPAM
IP: 85.216.242.–
z_moravec
~ Redaktor
+3
Posthunter
12. 5. 2009   #2
-
0
-

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.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
KIIV
~ Moderátor
+43
God of flame
12. 5. 2009   #3
-
0
-

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');

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
z_moravec
~ Redaktor
+3
Posthunter
12. 5. 2009   #4
-
0
-

To KIIV : To jo, ale tím nezabráníš přímému volání souborů. Lordest chtěl automaticky směrovat všechny požadavky na index.php.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
KIIV
~ Moderátor
+43
God of flame
12. 5. 2009   #5
-
0
-

To z_moravec : na to muze stacit i nastavit podadresari include deny from all

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
z_moravec
~ Redaktor
+3
Posthunter
12. 5. 2009   #6
-
0
-

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ší.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
KIIV
~ Moderátor
+43
God of flame
12. 5. 2009   #7
-
0
-

To z_moravec : formalne muzes i error dokument hodit na ten index.php.. akorat to nepredava POST dotazy

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
survik1
~ Moderátor
0
Posthunter
12. 5. 2009   #8
-
0
-
Nahlásit jako SPAM
IP: 89.102.156.–
Život je jen hra, která se nedá vyhrát.
DragonBehemont
~ Anonymní uživatel
383 příspěvků
13. 5. 2009   #9
-
0
-

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.

Nahlásit jako SPAM
IP: 213.194.252.–
Lordest0
Super člen
13. 5. 2009   #10
-
0
-

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

Nahlásit jako SPAM
IP: 85.216.242.–
z_moravec
~ Redaktor
+3
Posthunter
13. 5. 2009   #11
-
0
-

deny from all

Nahlásit jako SPAM
IP: 147.251.29.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
survik1
~ Moderátor
0
Posthunter
13. 5. 2009   #12
-
0
-

Ale to zároveň znemožní vkládání obrázků, ne?

Nahlásit jako SPAM
IP: 89.102.156.–
Život je jen hra, která se nedá vyhrát.
z_moravec
~ Redaktor
+3
Posthunter
13. 5. 2009   #13
-
0
-

Buď se musí vyčlenit adresář jen pro php skripty nebo to omezit jen php soubory:

<Files *.php>

deny from all
</Files>

Nahlásit jako SPAM
IP: 147.251.29.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Lordest0
Super člen
13. 5. 2009   #14
-
0
-

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...

Nahlásit jako SPAM
IP: 85.216.242.–
marioff0
Expert
16. 5. 2009   #15
-
0
-

a takto, na zaciatok kazdeho suboru?

if ($_SERVER[SCRIPT_NAME]!="index.php") { header("Location: index.php"); exit(); }

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Lordest0
Super člen
16. 5. 2009   #16
-
0
-

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

Nahlásit jako SPAM
IP: 78.98.161.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 12 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý