se il file in cui gestisci il tutto è sempre inserimento.php così come hai mostrato non può funzionare. Devi strutturare un attimo il tuo codice. La pagina inserimento.php la devi dividere tra la parte html con il form e la parte in cui gestisci i valori dopo che hai inviato il form tramite PHP.
Per es. una cosa del genere per la pagina inserimento.php
codice:
<?php
// form inviato
if(isset($_POST['button']) && $_POST['button'] == 'Salva') {
// gestione dei campi inviati facendo il submit del form
var_dump($_POST);
... sql insert ...
} else {
// form in HTML
?>
<form action="inserimento.php" method="POST">
<select name="categoria" id="categoria"></select>
<input type="date" name="data"id="data">
<input type="time" name="ora" id="ora">
<input type="button" name="button" id="bottone" value="Salva">
</form>
<?php } ?>