Lezione Precedente | Elenco Lezioni | Lezione Successiva |
Decidiamo di realizzare la fase di 1 modificando la pagina elenco.php
, affiancando ad ogni oggetto un link speciale che ci porta alla fase 2 dell'operazione di modifica. Otteniamo la pagina elenco2.php. Na abbiamo anche aprofittato per aggiungere un collegamento alla pagina di inserimento oggetti e i collegamenti alla funzionalità di cancellazione che tratteremo più avanti in questa lezione.
La pagina a cui si salta una volta scelto l'oggetto da modificare deve presentare una FORM, come per la procedura di inserimento. Tuttavia, la FORM deve essere pre-riempita con i dati dell'oggetto selezionato. Per far questo ci colleghiamo al server MySQL, recuperiamo i dati, e specifichiamo i valori iniziali nei vari campi di input. La specifica dei valori iniziali cambia a seconda del tag HTML: per il tag INPUT
si specifica il valore iniziale nell'attributo value
; per il tag TEXTAREA
si specifica il valore iniziale mettendo il testo tra il tag di apertura e il tag di chiusura; per il tag SELECT
, si specifica il valore iniziale inserendo l'attributo SELECTED
nel tag OPTION
inzialmente selezionato. Otteniamo la pagina modifica-form.php
La pagina a cui salta la form, ovvero modifica.php, è molto simile alla pagina di inserimento (inserimento5.php
nell'ultima versione). Ovviamente si usa il comando UPDATE
invece che INSERT
. La differenza principale è che la procedura di modifica ha bisogno del valore di chiave primaria dell'oggetto da modificare: questo valore è stato passato come parametro da elenco2.php
a modifica-form.php
e quindi non è disponibile in modifica.php
, a meno che non si faccia qualcosa a riguardo. A questo serve il tag INPUT
di tipo hidden
presente in modifica-form.php
. Un campo di tipo hidden
è un valore presente in una form che viene passato alla pagina successiva come qualunque altro campo di input, ma non è modificabile e non appare sullo schermo.
Sarebbe possibile realizzare una pagina di conferma per l'operazione di modifica simile a quanto fatto per l'operazione di inserimento, ma si è preferito reindirizzare direttamente l'utente alla pagina con l'elenco degli oggetti. L'utente non ha più conferma visiva immediata che l'operazione ha avuto successo, ma l'interazione con l'applicazione diventa più snella.
Riassumendo, i tre file che compongono la procedura di modifica sono elenco2.php, modifica-form.php e modifica.php.
Tipicamente, tra la fase 1 e 2, si aggiunge una fase intermedia nella quale si chiede conferma all'utente del fatto di voler cancellare veramente quel determinato elemento dalla base di dati (altrimenti un click sulla riga sbagliata ci farebbe perdere irrimediabilmente un oggetto). Otteniamo allora: cancella-form.php e cancella.php. Come nel caso precedente, si è optato per non avere una vera e propria pagina di conferma.
Lezione Precedente | Elenco Lezioni | Lezione Successiva |