Il consiglio è quello di creare una funzione che si occupi di tutti i controlli, in maniera tale da poterla applicare a due o più campi. Fatto questo non resta che verificare le giuste condizioni per procedere e infine effettuare la somma dei dati.

Un esempio, molto semplice. Potrai personalizzarlo in seguito dopo aver compreso il funzionamento di base (leggi tutti i commenti)...

Codice PHP:
//la funzione che si occuperà di verificare che
//ci siano solo caratteri numerici, con lunghezza pari
//a un solo carattere per campo e, ovviamente, che i
//campi non risultino vuoti al momento dell'invio
function checkField($field) {
  if(!
preg_match('/^[\\d]{1}$/'$field))
  exit(
'Tutti i campi devono essere compilati e
       sono ammessi solo caratteri numerici da 0-9'
);
  else return 
$field;
}

//controllo sul form, se è stato inviato o meno
//dove 'invio' è il valore dell'attributo "name"
//del pulsante "submit" del form
if(isset($_POST['invio'])) {

//viene applicata la funzione di controllo
//su tutti i campi disponibili per la somma
$c1 checkField($_POST['campo1']);
$c2 checkField($_POST['campo2']);

//ultimo controllo, se i dati immessi
//sono composti solo da numeri da 0-9
//e nella lunghezza di un solo carattere
//per campo, allora viene effettuata la somma
if($c1 && $c2) echo $c1 $c2;

Spero sia chiaro...