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