ugrás a tartalomhoz

Változó életben maradása functionon is belül.

chipi · 2007. Okt. 14. (V), 18.03
Sziasztok!

Egy olyan problémán akadtam el, már végigolvastam a php kézikönyvet is a globális változókról, de a problémámat továbbra sem oldotta meg.

Írtam egy template-t kezelő ppici egyszerű progit és a gondom elöször az volt, hogy megnyitot php-t nem dolgozza fel.
function php_nyit($falj){
if(is_file($falj)){
include ($falj);
}else{
return FALSE;
}
}
Ez okés, de a megnyittani kívánt php ban vannak változókzók amik egy másik oldalon vannak. Azaz ahonnan meghívom a php fáljt.

A functionba tettem már global $_HTTP_GET_VARS, de nem csinál semmit :(
Ki akarom terjeszteni a változóimat a meghívott oldalra is!
 
1

Nem helyes megközelítés

janoszen · 2007. Okt. 14. (V), 18.37
Inkább add át paraméterben a szükséges változókat.

Egyébként a hosszú helyett $_GET lesz a barátod.

Valszeg érdemes lesz még egyszer elolvasni a manualt.
2

Nem esett le még mindig a megoldás

chipi · 2007. Okt. 14. (V), 19.11
Hát áttanulmányoztam ismét, de nem jöttem rá :(
Ez egyszerübb lenne ha globallal beillesztenem a változókat, de mivel több is van benne ezért nem jó megoldásnak tartom. Talán register_globals.
3

Megoldás

janoszen · 2007. Okt. 14. (V), 19.50

<?php
function valami($var1, $var2)
{
}

valami("egy string", $_GET['parameter']);
?>
register_globals-t meg ne használj mert az csak a legcsótányabb szolgáltatóknál van bekapcsolva. Inkább tanuld meg, mi az a láthatóság (scope) és akkor jobban boldogulsz. Vagy ne használj függvényeket. ;)
4

Ismerem és használom

chipi · 2007. Okt. 14. (V), 20.11
Ismerem ezt a lehetőséget, de sajna nem ment meg, van közel 14-16 változom, hogyan lehet kinyitani a functiont is, hogy meglehessen tölteni :)
Majd segítek rajta kalapáccsal :)

Elvileg nem a global $_GET-t vinné át a változókat? Vagy ő csak az url ben matat.
5

global

janoszen · 2007. Okt. 14. (V), 21.39
A $_GET egy szuperglobális. Ergo nem kell deklarálnod külön hogy global, bárhonnan látod. Ennek ellenére nem javaslom hogy a függvényen belülről használd, mert ha változtatni akarsz a paraméter nevén, írhatod át a függvényeidet.

Inkább told bele a szükséges változókat egy tömbbe a $_GET-ből és azt add át a függvénynek.