Corso Web – Lezione PHP – 4
Introduzione
In questo articolo, esaminiamo un semplice problema di interazione fra un modulo html e il linguaggio php per realizzare una semplice calcolatrice aritmetica. Il programma php riceve due numeri e il tipo di operazione (+,-,*,/) da un form html e dopo aver verificato che i dati siano stati inseriti correttamente esegue l’operazione stampando il risultato nella pagina web.
Il modulo HTML
Il form html è costituito da una tabella nella quale tabella sono presenti nella prima riga un’etichetta e una casella di testo per il primo numero, nella seconda riga in modo analogo i dati per l’inserimento del secondo numero, nella terza riga un’etichetta e una casella combinata per la scelta dell’operazione da svolgere. Nella uqarta riga della tabella i due pulsanti per l’invio del form e per la cancellazione dei dati.
il codice html è:
<!DOCTYPE html>
<htm>
<head><title>Esercizio 4 - Calcolatrice</title></head>
<body>
<form name="frmcalcolatrice" action="es4.php" method="post">
<table border="1" style="background-color:beige;">
<tr>
<td>
<label for="n1">Numero 1</label>
</td>
<td>
<input type="number" name="n1" id="n1" value="digitare numero:" required>
</td>
</tr>
<tr>
<td>
<label for="n1">Numero 1</lable>
</td>
<td>
<input type="number" name="n2" id="n2" value="digitare numero:" required>
</td>
</tr>
<tr>
<tD><label for="op">Tipo Operazione</label></td>
<td>
<select name="op" id="op">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</td>
</tr>
<tr>
<td><input type="submit" name="calcola" id="calcola" value="Calcola"></td>
<td><input type="reset" name="cancella" id=""cancella" value="Cancella"> </td>
</tr>
</table>
</form>
</body>
</html>
Nei campi di testo è stato utilizzato il tipo “number” per indicare che in html devono essere inseriti dei numeri e che sono obbligatori per l’inserimento. Questa impostazione è possibile grazie all’attributo “required” impostato nei tag “<input>”.
E’ stato introdotto il tag <select> per creare una casella di opzioni con le quattro operazioni aritmetiche. L’utente può scegliere solo un’operaizone per volta. All’atto dell’invio del form “submit” i dati sono spediti alla pagina php di nome “es4.php” nominata nell’attributo “action” del tag <form>.
Il form visualizzato nel browser è questo rappresentato in figura sotto.

Il codice PHP
Il codice PHP verifica per pima cosa dopo aver definito le variabili $n1, $n2, $op se i campi numerici sono valorizzati correttamente e poi prosegue con l’esecuzione di uno switch.. case ovvero una condizione di selezione multipla. Nello switch case è presente l’istruzione default che indica al programma php come comportarsi nel caso in cui non è stata scelta nessuna operazione specifica.
Una volta che il programma php ha verificato il tipo di operazione inserita e che i numeri inseriti tramite form html sono valorizzati allora viene eseguita l’operazione e il risultato viene memorizzato nella variabile $ris che poi è stampata. Nel caso in cui i campi numerici in html non siano valorizzati viene terminato lo script e viene stampato un messaggio di errore. Questa eventualità è stata inserita anche se in questo caso rendendo obbligatorio l’inserimento dati in html non si può verificare. E’ buona norma per la sicurezza delle pagine dinamiche prevenire tutti i potenziali rischi di malfunzionamento sia di html che nello script php.
il codice dello script php è:
<?php
$n1=$_POST['n1'];
$n2=$_POST['n2'];
$op=$_POST['op'];
if (is_numeric($n1))
if(is_numeric($n2))
{
switch ($op)
{
case '+':
{
$ris=$n1+$n2;
break;
}
case '-':
{
$ris=$n1-$n2;
break;
}
case '*':
{
$ris=$n1*$n2;
break;
}
case '/':
{
$ris=$n1/$n2;
break;
}
default:
{
die("<h3>Errore nella scelta operaizone !</h3>");
}
}
}
else
die("<h1>Errore</h1>");
else
die("<h1>Errore</h1>");
echo "<h1>Risultato:".$ris."</h1>";
L’esecuzione del codice php produce ad esempio nel caso in cui i numeri sono 13 e 14 e l’operazione è la differenza il valore -1 come riportato in figura.
