Buona idea, ma non credo sia possibile avere due submit nello stesso form, non hai la possibilità di distinguerli, quindi in caso se vuoi continuare con questa soluzione, puoi attraverso una funzione in js settarti un campo hidden e poi controllarlo con PHP nella funzione post. Ad esempio..

Codice PHP:
if(isset($_POST['campoazzera']=="yes")){
$name="";
$categoria="";
}
....
echo 
"<input type=\"hidden\" name=\"campoazzera\" value=\"no\">"//questo è il campo hidden che ti servirà per la scelta dell'isset
....
echo 
"<input type=\"button\" name=\"cancel\" value=\"Cancella\" onclick='azzera()'>"
funzione js

Codice PHP:
function azzera(){
     
document.mioform.campoazzera.value='yes';