@hawk - a mi się wydaje, że każdy powinien robić tak jak ma ochotę.
To co jest pod spodem to mój lib, który stosuję do prawie każdego projektu - niestety pod php 4, ale wiadomo jakie mamy realia. Mnie osobiście jeśli koduje coś saemu takie rozwiązanie w zupełności wystarcza. Jakoże naprawdę nie wiele reczy przechodzi przez $_GET nie mam potrzeby rozgraniczania $_GET i $_POST. Reszta tablic to inna mańka

<?
class inputter{
function clean_value($val){
if ($val == \"\") return \"\";
if ( $onfig_vars['_strip_space_chr'] ){ $val = str_replace( chr
(0xCA), \"\", $val );}
$val = preg_replace( \"/<script/i\" , \"<script\" , $val ); $val = preg_replace( \"/n/\", \"<br />\", $val ); //nl2br() $val = str_replace( \"'\", \"'\", $val ); //sql sec //unicode
if ( $config_vars['_allow_unicode']){ $val = preg_replace(\"/&#([0-9]+);/s\", \"\", $val );} //wywalamy slashe
if ( $config_vars['_stripslashes'] ){$val = stripslashes($val);} //wywalamy backslash'e
$val = preg_replace( \"/(?!&#|?#)/\", \"\", $val ); return $val;
}
function clean_key($key){
if ($key == \"\"){return \"\";}
$key = preg_replace( \"/^([w.-_]+)$/\", \"$1\", $key ); return $key;
}
function parse_incoming(){
while( list
($k, $v) = each($_GET) ){ while( list
($k2, $v2) = each($_GET[$k]) ){ $return[ inputter::clean_key($k)][ inputter::clean_key($k2)]=inputter::clean_value($v2);
}
}else{
$return[ inputter::clean_key($k) ] = inputter::clean_value($v);
}
}
}
{
while( list
($k, $v) = each($_POST) ) {
{
while( list
($k2, $v2) = each($_POST[$k]) ) {
$return[inputter::clean_key($k)][inputter::clean_key($k2)]=inputter::clean_value($v2);
}
}
else
{
$return[ inputter::clean_key($k) ] = inputter::clean_value($v);
}
}
}
$return['request_method'] = strtolower($_SERVER['REQUEST_METHOD']); return $return;
}
}
?>
Ta klasa zawraca mi tablicę wszystkich danych ktore przyszły.