Secondo me dovresti distinguere i due tipi di invio aggiungendo un campo nella form e valorizzandolo sul click dei due bottoni, prima del submit della form, insomma, una cosa simile:
codice:
<script language="JavaScript">
  function Invia(flComprasubito) {
    form1.compralosubito=flComprasubito;
    form1.submit();
  }
</script>

<form id='form1' name='form1' action='prova.php' method='post'>
  
  //---
  //CAMPI DA INVIARE
  //CODICE PRODOTTO ETC
  //---
  
  <INPUT type='hidden' name='compralosubito'>
  <INPUT type='button' value='Aggiungi al Carrello' onclick="Invia(0);">
  <INPUT type='button' value='Compralo Subito' onclick="Invia(1);">
</form>
Poi nella pagina php leggi il valore del campo 'compralosubito' come leggi gli altri valori della form.
Che ne dici?