puedes utilizar la variable super global $_REQUEST para evitarte el tener que saber si la variable proviende de un metodo GET o POST lo utilizas de la misma manera ej: $_REQUEST['id']
y para evitar el error del header puedes utilizar este codigo en javascript
<script>
window.location.href='mipagina.php';
</script>
tambien te puede servir de utilidad imprimir en pantalla los valores de todas las variables que estas pasando para saber cual es la que no se envia
print_r($_REQUEST);
y asi tener una idea mas clara de que es lo que tienes que corregir
Espero te sirva de ayuda...