problem s globalnimi promennymi
6 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Nazdar. Potreboval bych pomoct. Zacinam s PHP a chtel jsem si v php.ini zapmout globalni promenne. Nastavil jsem to na: register_globals = on ale nepomohlo to. Kdyz zadam $_post['jmeno'] tak to vali, ale $jmeno nefunguje. Ten script jsem nahral na web a tam funguje oboji. Co mam udelat aby mne to fungovalo i doma? Diky
-
nedelej nic a tvar $jmeno nepouzivej, casem bude i na webzdarma registerglobals off, proc to vlastne chces? proc ti to nefunguje nevim, podle me bude chyba nekde jinde
-
Po zmene php.ini musis restartovat apache server, proto se ti ta zmena neprojevila hned. Ale rozhodne je lepsi nechat register_globals vypnute a pouzivat pole $_POST, $_GET atd.
-
Jinak jen tak k tématu. Já osobně raději používám $jmeno než $_post['jmeno'], ale protože může být na různých serverech tato možnost vypnuta, tak používám tento jednoduchý skript, který jen incuduješ na každé stránce a můžeš používat $jmeno i když jsou register_globals Off. $raw = phpversion(); list($v_Upper,$v_Major,$v_Minor) = explode(".",$raw); if (($v_Upper == 4 && $v_Major < 1) || $v_Upper < 4) { $_FILES = $HTTP_POST_FILES; $_ENV = $HTTP_ENV_VARS; $_GET = $HTTP_GET_VARS; $_POST = $HTTP_POST_VARS; $_COOKIE = $HTTP_COOKIE_VARS; $_SERVER = $HTTP_SERVER_VARS; $_SESSION = $HTTP_SESSION_VARS; $_FILES = $HTTP_POST_FILES; } if (!ini_get('register_globals')) { while(list($key,$value)=each($_FILES)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_ENV)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_POST)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_COOKIE)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_SERVER)) $GLOBALS[$key]=$value; while(list($key,$value)=@each($_SESSION)) $GLOBALS[$key]=$value; foreach($_FILES as $key => $value){ $GLOBALS[$key]=$_FILES[$key]['tmp_name']; foreach($value as $ext => $value2){ $key2 = $key . '_' . $ext; $GLOBALS[$key2] = $value2; } } }
-
function globalize($what){ foreach($what AS $key => $value){ global $$key; $$key = $value; } } globalize($_GET); globalize($_POST); --- nevim jestli to pude, psal sem to z hlavy :-)
-
import_request_variables("gp");