Ciao, l'errore (come dice "satifal") sta nel fatto che non prelevi il valore delle checkbox dal server, e quindi tutte quelle IF le salta, poiché non risulta mai vero che $p1 (non inizializzata) è uguale a 'on'...

Dunque correggi il codice facendo cosi su tutte le IF:
Codice PHP:
if ($_POST['p1']=="on") {
    
$tot $tot 2.5;
    }
if (
$_POST['p2']=="on") {
    
$tot $tot 1.5;
    } 
E cosi via... fallo per tutti i campi input associati agli IF, sostituendo tra gli ' apici ' il nome del campo input html.

Ciao ciao!