Corso Web – Lezione PHP – 4

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.

Antperima del form html come viene visualizzato nel browser.

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.

Visualizzazione della pagina php sul browser.

Video dell’articolo

Pubblicità