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 } ?>