Prog:: Web
Url scriptu
Titulni strana

Forum
Builder (10)
Problemy a algoritmy (250)
Java (61)
Web (123)
Win32 (74)
PowerBuilder

Archiv
Obecne Nastroje
Win32
Java
Web

Internet
Megaprint
Technet
Namodro
Lupa
 
Reklama

PHP: Url scriptu

Mnohdy se vam pri psani PHP scriptu stava ze potrebujete znat url beziciho scriptu a pokazde editovat nejaky konfiguracni soubor danneho scriptu take neni to prave.

Mala motivace: script pracuje s databazi a jednou z akci je UPDATE dat v db. Rutina na dannou akci je univerzalni a je mozne ji volat z mnoha casti programu. A asi by nebylo prijemne aby uzivatel po provedeni akce v databazi byl nucen se vratit na puvodni stranku pomoci tlacitka BACK v prohlizeci.
Reseni je jednoduche, jednou z prejimanych promenych bude i cilove url na ktere se ma odkazat po ukonceni akce.
A to nasledujicim zpusobem:
<?
/* samotna akce, napr pristup do db.
   Dulezite je zde netisknou na vystup */
   
Header("Location: $dest_url");
exit();
?>

Popripade muzeme dodat informaci, ze akce se provedla korektne ($dest_url&vysl=1)

Jak ale zjistit adresu prave aktivni stranky?
(pouzity priklad http://www.builder.cz/test/test.php?aha=4

Moznosti je nekolik a jak jiz to v PHP byva, jedna je jednodussi nez druha :)

Jednak se uklada do promenne $PHP_SELF. Obsahuje url, ale nenajdete v ni pripadne parametry scriptu. (/test/test.php)

Dalsi moznosti je nacteni nektere z promennych Apache, viz nasledujici tabulka:

REQUEST_METHODGET 
QUERY_STRINGaha=4 
REQUEST_URI/test/test.php?aha=4 
SCRIPT_NAME/test/test.php 

To se provede pomoci:
getenv("REQUEST_URI");
Vysledek: /test/test.php?aha=4

Daleko vice (a velmi zajimavych) informaci ziskate prikazem phpinfo();

Reklama

 
 

cbob@builder.cz