3E e 3I SIA: Come usare un modulo form e stampare il risultato utilizzando una pagina php con array associativi

 Come usare un modulo form e stampare il risultato tramite una pagina php con array associativi che passano i valori alle variabili $post

// Crea gli array associativi per i costi delle pizze e delle bevande

    $pizze = array(

        "margherita" => 8,

        "salame" => 10,

        "diavola" => 12,

        "4 formaggi" => 11,

        "americana" => 9

    );


    $bevande = array(

        "coca" => 2,

        "fanta" => 2,

        "acqua" => 1

    );




Pagina HTML

index.html

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">

<head>

    <meta charset="utf-8" />

    <title></title>

<title></title>

<style>

div{

  width: 300px;

  background-color: lightcyan;

  border: 15px solid green;

  padding: 50px;

  margin: 20px;

}

</style>

</head>


<body>

<h1></h1>

<center>

<div>

<form action="scontrino.php" method="POST">

NUMERO DEL TAVOLO<input type="number" name="tavolo">

<BR><br>

NUMERO DI PIZZE<input type="number" name="numero_pizza">

<BR><BR>

<select name="pizza" id="piza" style="font-size: 20px;">

  <option value="margherita">margherita</option>

  <option value="salame">salame</option>

  <option value="diavola">diavola</option>

  <option value="4 formaggi">4 formaggi</option>

  <option value="americana">americana</option>

</select>

<BR><BR>

NUMERO DI BEVANDE<input type="number" name="numero_bevande">

<BR>

<BR>

<select name="bevande" id="bev" style="font-size: 20px;">

  <option value="coca">coca</option>

  <option value="fanta">fanta</option>

  <option value="acqua">acqua</option>

</select>

<br><br>

<input type="submit" name="Submit"/>

</form>

</div>

</center>

</body>

</html>


pagina scontrino.php

<?php

// Verifica se i dati sono stati inviati tramite il metodo POST

if ($_SERVER["REQUEST_METHOD"] == "POST") {

    // Crea gli array associativi per i costi delle pizze e delle bevande

    $pizze = array(

        "margherita" => 8,

        "salame" => 10,

        "diavola" => 12,

        "4 formaggi" => 11,

        "americana" => 9

    );

    $bevande = array(

        "coca" => 2,

        "fanta" => 2,

        "acqua" => 1

    );

    // Recupera i dati dal modulo

    $tavolo = $_POST['tavolo'];

    $numero_pizza = $_POST['numero_pizza'];

    $pizza = $_POST['pizza'];

    $numero_bevande = $_POST['numero_bevande'];

    $bevanda = $_POST['bevande'];

    // Controllo se la pizza e la bevanda sono validi

    if(array_key_exists($pizza, $pizze) && array_key_exists($bevanda, $bevande)) {

        // Calcolo dei totali

        $sum = $numero_pizza * $pizze[$pizza];

        $sum1 = $numero_bevande * $bevande[$bevanda];

        $tot = $sum + $sum1;

        // Visualizza i dati

        echo "<center><div>";

        echo "<h1>Ricevuta</h1>";

        echo "Numero del tavolo: " . htmlspecialchars($tavolo) . "<br>";

        echo "Numero di pizze: " . htmlspecialchars($numero_pizza) . " (" . htmlspecialchars($pizza) . ")<br>";

        echo "Numero di bevande: " . htmlspecialchars($numero_bevande) . " (" . htmlspecialchars($bevanda) . ")<br>";

        echo "Il totale è: €" . number_format($tot, 2);

        echo "</div></center>";

    } else {

        echo "Errore: Pizza o bevanda non valida.";

    }

} else {

    echo "Nessun dato inviato.";

}

?>


Dettagli delle modifiche che ho apportato al file scontrino.php :

1. Array Associativi: Ho creato due array associativi, `$pizze` e `$bevande`, per memorizzare i costi delle pizze e delle bevande.

2. Recupero Dati: I dati dal modulo vengono recuperati e memorizzati in variabili separate.

3. Validazione: È stata aggiunta una verifica per garantire che la pizza e la bevanda selezionate esistano negli array associativi.

4. Calcolo Totale: I costi totali vengono calcolati utilizzando gli array associativi.

5. Visualizzazione: I dati vengono visualizzati con formattazione HTML e il totale viene calcolato e mostrato in formato monetario usando `number_format()`.

L'ho provato e funziona.

Ciao

Paolo Latella


Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi in Excel e fogli di Google