Gracias por tu explicación Mario, la verdad es que la explicación que me dio el profe es que había dos métodos POST y GET y que por POST pasamos los datos ocultos y por GET los datos van en la barra de navegación. Pero gracias a ti he investigado más para dejarme claros los conceptos.
Como me dices, comprendo que no puedo enviar por POST y por GET a la vez, con eso contaba. Yo lo que quería es enviar por GET, recibir datos y luego esos datos poderlos mandar por POST.
Muchas gracias por ayudarme a orientar la cuestión.
Dejo aqui lo que he hecho para resolverlo y algunos errores que cometía por si son de utilidad para otro en mi misma situación:
Finalmente he pasado por campo oculto en el segundo formulario los id, pero recogiendolos del GET <input type="hidden" name="id_categoria" value="<?php echo $_GET['id_categoria'] ?>"/>, no como variable (puesto que de esta forma me guardaba el dato anterior y no "refrescaba").
Además me di cuenta que poniendo el mismo action="<?php echo $_SERVER['PHP_SELF'] ?>" en los dos formularios no funcionaba. El segundo action lo dejé vacio puesto que despues de actualizar tenía un header location para redirigir a donde yo quería. --> no se si esto es muy correcto, pero funciona jeje
Muchas gracias de nuevo por guiarme