Sitemap
Kontakt
Links
+++ erd.trabant +++

+++ erd.trabant +++

blablabla

blablabla

PHP 4.2.x, register_Globals=off umgehen

keine sehr schoene und zu vbevorzugende loesung, aber eigenet sich hervorragend als workaround

achtung! funktioniert nicht mit arrays aus formularen wie <input name="foo[]"> ;-)


$array_reg = array_merge($_GET,$_POST,$_SESSION,$_COOKIE,$_SERVER,$_ENV);
foreach ($array_reg as $key => $value){
if(is_array($value)) {
foreach ($value as $key_2 => $value_2) {
$$key_2 = $value_2;
}
} else {
$$key = $value;
}
}



eine schoenere Loesung ist die funktion pt_register() die ich im internet gefunden habe, weiss nicht mehr wo,

diese behandelt auch arrays und ist einfach zu handhaben.


function pt_register()
{
$num_args = func_num_args();
$vars = array();

if ($num_args >= 2) {
$method = strtoupper(func_get_arg(0));

if (($method != 'SESSION') && ($method != 'GET') && ($method != 'POST') && ($method != 'SERVER') && ($method != 'COOKIE') && ($method != 'ENV')) {
die('The first argument of pt_register must be one of the following: GET, POST, SESSION, SERVER, COOKIE, or ENV');
}

$varname = "HTTP_{$method}_VARS";
global ${$varname};

for ($i = 1; $i < $num_args; $i++) {
$parameter = func_get_arg($i);

if (isset(${$varname}[$parameter])) {
global $$parameter;
$$parameter = ${$varname}[$parameter];
}

}

} else {
die('You must specify at least two arguments');
}

}
// register a GET var
//pt_register('GET', 'user_id', 'password');
// register a server var
//pt_register('SERVER', 'PHP_SELF');
// register some POST vars
//pt_register('POST', 'submit', 'field1', 'field2', 'field3');


oder eine ganz banale loesung um die variablen zu erhalten, ebenfalls ohne arrays:

function getVar($Var) {
//this function gets variables from post or get, post has higher priority!
//echo $Var;
if (isset($_POST[$Var]) && !is_array($_POST[$Var])) {
//$Return = (get_magic_quotes_gpc()) ? $_POST[$Var] : addslashes($_POST[$Var]);
$Return = addslashes($_POST[$Var]);
} else {
if (isset($_GET[$Var]) && !is_array($_POST[$Var])) {
//$Return = (get_magic_quotes_gpc()) ? $_GET[$Var] : addslashes($_GET[$Var]);
$Return = addslashes($_GET[$Var]);
} else {
$Return="";
}
}
return $Return;
}//getVar()


>>PopUP / Drucken / Print<<
blablabla