Hallo du da draußen,
So müsste es gehen.
Müsste zwar in seinem Fall so funktionieren, aber der Vollständigkeit halber: Was ist, wenn $_GET['bla']['bla2'] auch ein Array ist? Wenn nämlich in $_GET mehrdimensionale Arrays vorkommen, funktioniert deine Lösung nicht mehr.
function print_inputs($array, $prefix="")
{
if(!is_array($array))
return false;
foreach($array as $key=>$val)
{
if($prefix == "")
$name = $key;
else
$name = $prefix."[".$key."]";
if(is_array($val))
print_inputs($val, $name);
else
echo "<input type="hidden" name="".htmlentities($key)."" value="".htmlentities($name)."" />\n";
}
}
print_inputs($_GET);
Diese Funktion sollte auch mit mehrdimensionalen Arrays funktionieren.
Man könnte es natürlich auch einfacher machen, indem man einfach den QueryString selbst zerlegt:
$get = explode("&", $_SERVER['QUERY_STRING']);
foreach($get as $val)
{
list($key,$val) = explode("=", $val, 2);
echo "<input type="hidden" name="".htmlentities($key)."" value="".htmlentities($val)."" />\n";
}
Das führt wohl zum gleichen Ergebnis, ist aber irgendwie einfacher.
Grüße von hier drinnen, aus Biberach an der Riss (http://www.stadt-biberach.de/),
Candid Dauth (Dogfish)