ePrometeusCorsoLinuxLinux
testi articoli
Testi Articoli  Download
Home | PHP | Espressioni | Comandi | Libreria | Form | Cookie | Database | Config | 
CorsoJava è ora Video! Free for all!
Clicca Qui!
Tutorial PHP
Introduzione
Una calcolatrice


<<< Una calcolatrice

Come primo esempio di programma in PHP, scriviamo una semplice calcolatrice, ovvero una form contenente due campi di testo e un selezione a discesa per scegliere una operazione eseguibile tra i due valori. Inviando la form si ottiene il risultato. Il testo HTML della form che vogliamo realizzare, che arricchiremo passo passo con il codice, è il seguente:

<html><head><title>Calc</title></head>
<body bgcolor=#ffffff>
Risultato: 2+2=4
<hr>
<form>
<table boder=0>
<tr>
<td>Primo Operando
<td><input type=text size=10>
<tr>
<td>Operatore:
<td>
<select>
<option>+
<option>-
<option>*
<option>/
</select>
<tr>
<td>Secondo Operando
<td><input type=text size=10>
<tr>
<td colspan=2 align=center>
<input type=submit value=Calcola>
&nbsp;
<input type=reset  value=Azzera>
</table>
</form>
</body></html>

Il primo passo per trasformare questa form in un programma, è quello di dare un nome ai campi e specificare chi deve processare il risultato. In questo caso scegliamo di fare in modo che la form venga gestita dallo stesso file che la contiene. quindi la form cicla su se stessa: stampa i risultati della form che la ha richiamata e visualizza la form per il passo successivo. Salviamo la form in un file chiamato calc.php, ed apportiamo le seguenti modifiche per dare un nome ai campi e scegliere il gestore della form:

...
<form action="calc.php" method=get>
...
<input type=text size=10 name=first>
...
<select name=op>
<option value=add>+
<option value=sub>-
<option value=mul>*
<option value=div>/
</select>
...
<input type=text size=10 name=second>

Adesso, quando premiamo sul bottone Calcola, viene richiata la pagina stessa con una QUERY STRING che contiene i valori inseriti nei campi. Per esempio, selezionando + e digitando, in ordine, 1 e 2, otterremo calc.php?first=1&op=add&second=2. Per fortuna in PHP non occorre decifrare la query string, ci pensa il sistema. Troveremo pertanto con i valori nelle variabili $first, $op e $second, per cui protremo aggiungere il seguente codice per visualizzare il risultato (sostituendo Risultato: 2+2=4):

<?
  if(strlen($first)>0 and strlen($second)>0) {
   $msg = "Risultato: $first ";
   switch($op) {
   case "add":
    $res = $first + $second;
    $msg .= "+ $second = $res";
   break;
   case "sub":
    $res = $first - $second;
    $msg .= "- $second = $res";
   break;
   case "mul":
    $res = $first * $second;
    $msg .= "* $second = $res";
   break;
   case "div":
    if($second != 0)  {
       $res = $first / $second;
       $msg .= "/ $second = $res";
    } else {
      $res = "";
      $msg = "Errore: divisione per zero";
    }
   break;
   }
   echo "<hr><h2>$msg\n</h2><hr>";
  }
?>

Completiamo il programma con un piccolo accorgimento: riproponiamo come primo operando il risultato in modo che, come le calcolatrici, è possibile operare una serie di calcoli a cascata. Per fare questo, basta modificare il campo di input del secondo operando sostituendolo con:

<? echo "<input type=text size=10 name=first value='$res'>" ?>
ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com