Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 24. 9. 2004, 15:37:53
Mám takový problém. Učím se php, ale stále nemohu přijít na to, co znamená část za url, například www.neco.cz/pokus.php?xxx=yyy. Moc děkuji.
p.s.: promiňte za ten nadpis, ale nic lepšího jsem opravdu nevymyslel... |
||
halogan Profil |
#2 · Zasláno: 24. 9. 2004, 15:45:51
To je predavani parametru pres URI.
V pokus.php se k temto datum dostanete napr. pomoci $_GET['xxx'] - tato promenna by mela obsahovat string "yyy". Takto nekdo dela vkladani obsahu do stranky, ze testuje $_GET['inc'] (inc je jen priklad) a pak vkladaji soubor pomoci include/require. |
||
Yuhů Profil |
#3 · Zasláno: 24. 9. 2004, 16:31:22
Ta část adresy za otazníkem je možná v začátcích pro pochopení PHP to nejdůležitější.
Říká se tomu proměnné, někdy taky parametry. Zápisem ?xxx=yyy říkáš, že proměnná jménem xxx v sobě má hodnotu "yyy". K té proměnné potom lze v PHP programu přistoupit a zpracovat ji. Pokud je potřeba předat proměnných více, oddělují se znakem &. Například ?xxx=yyy&aaa=2 potom je v proměnné aaa hodnota 2. Jak už správně napsal halogan, dá se v PHP k takové proměnné přistoupit pomocí zápisu $_get["xxx"]. V PHP3 (a nebo pokud je na serveru povoleno register_globals on) to bylo ještě jednodušší a k té proměnné se dalo přistoupit pouhým zápisem $xxx. Taže třeba program v souboru neco.php: <? echo "V proměnné xxx je hodnota" . $xxx ?> vypíše V proměnné xxx je hodnota yyy |
||
halogan Profil |
#4 · Zasláno: 24. 9. 2004, 21:43:35
Yuhů: Promin, ja vim, ze mas rad reg. globals on (ja je mam off), ale zacatecnik by si nikdy nemel zvykat na on, pak se to tezko oducuje, proto anonymovi doporucuji, aby na promenne pristupoval pres superglobalni pole $_GET (zalezi na velikosti pismen).
|
||
DoubleThink Profil * |
#5 · Zasláno: 24. 9. 2004, 22:19:55
> nikdy nemel zvykat na on
Ale, já bych to zase tak nehrotil... Na většině serverů je stejně register_globals=on a kdyby ne, tak je to jenom otázka přepsání několika vstupních proměnných. Naopak bych řekl, že superglobální zápis je dost náchylný na překlepy. |
||
Yuhů Profil |
#6 · Zasláno: 25. 9. 2004, 02:43:25
halogane, fakt, nehroť to. Mám trochu zkušeností s tím, jak věci začátečníkům podávat.
Vím také na svém příkladu, že jako začátečník jsem psal $proměnné, dneska píšu $HTTP_GET_VARS("proměnné") a to přeučení mi fakt nedalo vůbec žádnou práci. |
||
Anonymní Profil * |
#7 · Zasláno: 25. 9. 2004, 07:42:28
Ano, je to jen o zvyku...
|
||
llook Profil |
#8 · Zasláno: 25. 9. 2004, 13:11:11
Je fakt, že důležitější je na začátku pochopit jak PHP pracuje, pak se teprve starat o bezpečnost skriptů, ošetření vstupu apod. PHP4 hostingy mají snad všude register_globals=on, zajímalo by mě, jak to budou mít nastavený u PHP5.
2Yuhů: Možná si budeš znova převykat. $HTTP_GET_VARS je "still available, but deprecated" a hlavně $_GET je kratší a přehlednější. |
||
halogan Profil |
#9 · Zasláno: 27. 9. 2004, 22:16:28
"tak je to jenom otázka přepsání několika vstupních proměnných. " - to mozna u scriptu<5kB, pak uz to je horsi a kdo by se v tom hrabal? $_GET a $_POST nic neni a navic to zprehledni prohlizeni kodu.
|
||
Časová prodleva: 20 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0