Código PHP:
<?php
foreach($_POST as $nombre_campo => $valor){$asignacion = "\$".$nombre_campo."='".addslashes($valor)."';";
eval($asignacion);}
foreach($_GET as $nombre_campo => $valor){$asignacion = "\$".$nombre_campo."='".$valor."';";
eval($asignacion);}
foreach($_FILES as $nombre_campo => $valor){$asignacion = "\$".$nombre_campo."='".$valor."';";
eval($asignacion);}
?>
Con esto no tendrás q validar cada campo. El foreach recorre cada dato, ya sea pos, get o file. Nunca he tenido problemas con esto salvo cuando pones en el formulario enctype="text/plain". No me tiraba ningún error, pero siempre me volvía a datos no válidos. Fijate si en el .htm q tienes el form tienes declarado enctype como texto plano.