3D e 3E SIA: Totalizzazione di un campo e salvataggio sul file di testo con il PHP


Attenzione nel modulo form di inserimento del nuovo record
è importante aggiungere prima dell'invio dei dati un campo nascosto che conterrà la totalizzazione

esempio: <label for="totale"></label>
<input type="hidden" id="totale" name="totale" />

<?php
// richiamo il file logico collegato al file fisico
include("setting.php");

/*************************
SCRITTURA
**************************/
if(isset($_POST['scrivi']))
{
if(!is_writable($my_database_txt)){
exit("il file non ha i permessi di scrittura!");
}
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n");
$capo = str_replace($bad_char, "", $_POST['capo']);
$taglia = str_replace($bad_char, "", $_POST['taglia']);
$prezzo = str_replace($bad_char, "", $_POST['prezzo']);
    $totale = str_replace($bad_char, "", $_POST['totale']);
    $totale=$prezzo+(($prezzo*22)/100);
// apriamo il file
    // aprire il file in a+ vuol dire che il nuovo recors sara'
    // scritto in accodamento dopo l'ultimo record registrato
    // senza alterare i record precedenti
$open = fopen($my_database_txt, "a+");
// registriamo i dati nei campi, separati dal carattere separatore (|)
fwrite($open, $capo."|".$taglia."|".$prezzo."|".$totale."\r\n"); 
// chiudiamo il file  
fclose($open);

// ritorniamo nella pagina di visualizzazione
header("location: lettura.php");
exit;
}


/*************************
ELIMINARE UNA RIGA - CANCELLAZIONE DEL RECORD
**************************/
else if(isset($_GET['delete']))
{
// creiamo l'array con tutti le righe (i records)
$array_righi = file($my_database_txt);
// eliminiamo dall'array la riga (il record)
unset($array_righi[$_GET['delete']]);
// apriamo il file resettando il contenuto
    // attenzione perche' aprire il file con il parametro "W"
    // e' pericoloso. La registrazione sul disco avverra' senza
    // verificare se il file e' presente, pertanto
    // aprire con "w" cancellerà il file precedente con tutto
    // il contenuto e memorizzera' l'intera tabella dalla RAM
    // dentro il file fisico "prodotto.txt"
    
$open = fopen($my_database_txt, "w");
foreach($array_righi as $key => $value){
// ri-scriviamo tutti i righi (rimanenti)
fwrite($open, $value);
}
fclose($open);
// ritorniamo nella pagina di visualizzazione
header("location: lettura.php");
exit;
}


/************************
MODIFICARE UN RIGO
*************************/
else if(isset($_POST['modifica']) AND isset($_POST['row_update']))
{
// creiamo l'array con tutti i righi
$array_righi = file($my_database_txt);
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n");
$capo = str_replace($bad_char, "", $_POST['capo']);
$taglia = str_replace($bad_char, "", $_POST['taglia']);
$prezzo = str_replace($bad_char, "", $_POST['prezzo']);
    $totale=$prezzo+(($prezzo*22)/100);
// ri-scriviamo il rigo (che sostituirà il precedente)
$array_righi[$_POST['row_update']] = $capo."|".$taglia."|".$prezzo."|".$totale."\r\n";

    // apriamo il file resettando il contenuto
    // attenzione perche' aprire il file con il parametro "W"
    // e' pericoloso. La registrazione sul disco avverra' senza
    // verificare se il file e' presente, pertanto
    // aprire con "w" cancellerà il file precedente con tutto
    // il contenuto e memorizzera' l'intera tabella dalla RAM
    // dentro il file fisico "prodotto.txt"
       $open = fopen($my_database_txt, "w");
    
foreach($array_righi as $key => $value){
// ri-scriviamo tutti i righi
fwrite($open, $value);
}
fclose($open);
// ritorniamo nella pagina di visualizzazione
header("location: lettura.php");
exit;
}
?>

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)