Laboratorio di Sistemi Informativi

Risultati Homework 4

A.A. 2010/2011

docente: Gianluca Amato


Testo del compito

Scrivere i file PHP necessari ad implementare la funzionalità di cancellazione di una categoria. L'utente deve poter controllare l'elenco delle categorie, e cliccare su quella che vuole cancellare. Come risposta, deve apparire una pagina in cui viene richiesta conferma della cancellazione. Se l'utente risponde affermativamente, la categoria viene cancellata. Eventuali oggetti appartenenti a quella categoria devono essere anch'essi cancellati.

Risultati

In linea di massima i compiti sono ben fatti (.....anche se un po' troppo simili tra di loro.....). Gli errori più comuni sono i seguenti:

  1. Nella pagina che chiede conferma della cancellazione viene interrogato il database mancolista per recuperare il nome della categoria che si sta per cancellare. In questa situazione, è inutile fare il JOIN con la tabella oggetti. Diverso è il caso se, come qualcuno ha fatto, oltre alla categoria da cancellare si vogliono mostrare anche gli oggetti che ne fanno parte.
  2. È meglio cancellare prima gli oggetti e poi le categorie. Se si fa al contrario è sono presenti dei vincoli di chiave esterna tra la tabella categoria e la tabella oggetti il programma potrebbe non funzionare, perché il database potrebbe vietare la cancellazione di una categoria finché ci sono oggetti che fanno riferimento ad essa.
  3. Quando una query necessita di un parametro, usare prepare/execute invece di usare query e immergere il paramtro dentro il comando SQL.
  4. Non conviene usare due connessioni diverse, a meno che non si necessitino di due query SELECT annidate.

Ho ignorato eventuali problemi con uso di query di multiple che si potrebbero verificare in aula informatica.

Ecco i risultati finali. Gli asterischi si riferiscono agli errori di cui sopra.

StudentiGiudizioCommento
Adriani, MarianiBuono*1
Altomare, Francescone, TerrenziOttimo
Candeloro, De Luca F.Buono*2
Capparella, TontodonatiSufficiente*3 (in cancella-cat.php), *4
Cardone, StanisciaSufficiente*1, *2
CialfiOttimo
Cilli, Di Giovanni, PaglialungaOttimo
CoccioneOttimo
D'Ambrosio, SappraconeOttimo
D'Aveta, Di ChiroOttimo
D'Incecco, MarchesaniSufficiente*3 (in cancellaC.php), *4
De Luca S.Ottimo
Iuras, PalermoOttimo
Mazziotti, ScuttiBuono*1
MonacheseOttimo
PignoliBuono*2, *3 (in elenco_cat.php)
SalernoOttimo
TaronnaSufficiente- Nel file cancella-categoria.php c'è una interrogazione al database che non serve a nulla, perché non ne usi il risultato. Tra l'altro, la query non ha molto senso perché confronti l'id della categoria da cancellare con la chiave primaria della tabella oggetti, e i due id non hanno nulla da spartire.

Chi ha ottenuto un voto insufficiente può recuperare o venendo a ricevimento o inviandomi una versione corretta.

Valid XHTML 1.0 Strict Valid CSS!