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");