ho provato il codice e ma no da errore..

credo più che altro che la "endif" indichi una seconda condizione, da valutare solo nel caso in cui quella precedente risulti falsa (che nel tuo caso non è cosi)

Codice PHP:
if ($peso 3) { 
    if (
$peso <= 10){
        echo 
"la spedizione ti coster&agrave; &euro; 8";
    }else{
        echo 
"la spedizione ti coster&agrave; &euro; 5";
    }     
} else { 
     echo 
"la spedizione ti coster&agrave; &euro; 10"
  }