Autor | Zpráva | ||
---|---|---|---|
Radim24 Profil |
#1 · Zasláno: 18. 7. 2009, 17:01:13 · Upravil/a: Radim24
Zdar,
chci se zeptat jestli jste se někdo setkal s problémem, že v nějaké fnc vytvoříte globální proměnnou a ona, až existuje v poli $GLOBALS, nejde zpřístupnit jinak než přes pole $GLOBALS. Čili taková situace: Pomocí eval() zpracovávám proměnnou $_POST["step"]. (začátek funkce) global $step; $step=$_POST["step"]; // pomocí global (konec funkce) (volám funkci) (zpřístupňuji proměnnou) Print_r($GLOBALS["step"]); // hodnota úspěšně uložena v poli $GLOBALS echo $step.""; // zde se nic nezobrazuje Víte v čem může být problém? Díky |
||
joe Profil |
#2 · Zasláno: 18. 7. 2009, 17:03:51
global $step; echo $step; |
||
Radim24 Profil |
#3 · Zasláno: 18. 7. 2009, 17:07:19 · Upravil/a: Radim24
joe
Hele v té funkci je to v pohodě, uvnitř se to zobrazuje, ale vně ne. Jsem z toho volaký zmetený. EDIT: Ještě dodám, že vše se nachází v includovaném souboru s klíčovými funkcemi. Všechny ostatní funkce běží bez problému a proměnné se daří zpřístupnovat z hlavního scriptu. A přesto tu existuje paralela s dalším problémem. V hlavním skriptu jsem se rozhodl přesunout strukturu SWITCH: ENDSWITCH; do jiného souboru a includovat ho. V tomto souboru však nejdou načíst ani globální proměnné, ani normální proměnné ani funkce, které již byly načteny v hlavním spouštěcím scriptu. Mám pocit, že se mi tohle stalo poprvé a nedává to vůbec smysl. |
||
keeehi Profil |
#4 · Zasláno: 18. 7. 2009, 17:12:45
Radim24:
Nemohla se mezitím přepsat? Já v této konstrukci jinak chybu nevidím. |
||
joe Profil |
#5 · Zasláno: 18. 7. 2009, 17:14:28 · Upravil/a: joe
Zvláštní :-)
Zkus poslat celý kód. |
||
Radim24 Profil |
#6 · Zasláno: 18. 7. 2009, 17:19:29 · Upravil/a: Radim24
Problém vyřešen.
Řešení bylo jako vždycky banální. Nějak jsem se ztratil ve vlastním kódu a našel jsem dvě chyby! 1) vložil jsem nějakou jinou funkci do jiné funkce místo přední (vůbec jsem si nevšiml kam to píšu) 2) a to samé nastalo když jsem volání funkce napsal omylem do jiné funkce místo mimo ni... Takže jelikož v této funkci nebyla proměnná deklarována jako global nemohl jsem ji vidět... Příště - lépe se dívat kam co píšu |
||
Časová prodleva: 15 let
|
0