Codice PHP:
<?php
$calcola 
= isset($_POST['calcola']);
$num1 = isset($_POST['num1']) ? $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ? $_POST['num2'] : 0;

if (
$calcola)){
    
$sum $num1 $num2;
    echo 
"Il risultato è $sum";
}
?>

<form action="#" method='POST'>
<input size='16' name='num1' value='<?php echo $num1?>'>
+
<input size='16' name='num2' value='<?php echo $num2?>'>


<input type='submit' name='calcola' value=' = '> 


<input size='16' name='sum' value='<?php echo $sum?>'>


</form>
Così dovrebbe andare.
I principali errori non in ordine di importanza:

- Specifica un 'method' per il form, GET o POST
- Evita di usare le variabili di server, potrebbero non esistere. Se il form dev'essere rimandato nella stassa pagina usa il # altrimenti puoi crearti una costante con la url del tuo sito.
- Non usare gli short tag <?, potrebbero non essere abilitati, usa sempre i tag estesi <?php
- Usa i nomi delle variabili sempre minuscoli, se sono nomi composti puoi utilizzare il camel case o l'underscore come preferisci ( io preferisco la prima soluzione es. $nomeVariabile )
- Definisci le variabili che ti arrivano dal form ed eventualmente filtrale o forza un tipo es.
Codice PHP:
$num1 = isset($_POST['num1']) ? $_POST['num1'] : 0;
che poteva anche essere
$num1 
= isset($_POST['num1']) ? (float)$_POST['num1'] : 0
- Usa lo short if per fare il filtro ( sempre l'esempio di sopra )

Penso di nn aver dimenticato nulla.. il codice nn l'ho testato ma dovrebbe andare.
Ciao