Prova ad aprire l'URL "http://localhost:8500/discoteca/dettaglio.cfm".
ColdFusion restituisce un errore "Element ID is undefined in URL". Mostra che nel file dettaglio.cfm, linea 5, è stata richiesta una variabile con scope URL che non è definita. Infatti, alla pagina dettaglio.cfm solitamente diamo, via URL, l'id dell'album che vogliamo visualizzare. Aprendo la pagina direttamente ColdFusion non conosce la variabile che dobbiamo utilizzare nella query.
Gli errori generati da ColdFusion sono abbastanza facili da comprendere. Probabilmente
sarai incappato in qualcuno di essi durante la creazione dei file in questo
corso! Essi possono essere causati da errori di programmazione (come ad esempio
la mancata chiusura di un tag CFML, oppure dimenticando di inserire gli attributi
obbligatori nei tag, eccetera), sintassi SQL errate e inviate al database tramite
<cfquery>, variabili inesistenti (come nel caso che abbiamo visto), eccetera.
Chi ha già programmato conoscerà bene il termine debug: è quella fase del processo di programmazione nella quale si identificano i difetti dell'applicazione (bugs). Per poterli risolvere, o prevenire, ColdFusion permette di mostrare un grande numero di informazioni legate all'interpretazione del codice: utilissime durante lo sviluppo.
Per attivare le informazioni di debug scegliamo Debugging settings dal menu di sinistra di "ColdFusion Administrator" (http://localhost:8500/cfide/administrator), sotto la voce "DEBUGGING & LOGGING". Nella parte principale della finestra attiviamo la voce "Enable debugging" e clicchiamo su Submit Changes. Lascia le impostazioni predefinite: nell'area "Custon Debugging Output" puoi scegliere un diverso aspetto per le informazioni di debug, sta a te vedere le differenze ed utilizzare quello che preferisci.
Adesso ogni volta che aprirai una pagina CFML (prova ad esempio "http://localhost:8500/discoteca/index.cfm") alla fine di essa troverai le Debugging Information.
Nell'ordine esse sono rappresentate da:
Informazioni generali come, ad esempio, la versione di ColdFusion utilizzata, la variabile Locale (se impostata) per le impostazioni internazionali, l'IP da cui ti stai collegando;
Informazioni sui tempi di esecuzione: ad esempio, index.cfm è una pagina che include altre pagine. L'elaborazione di queste pagine richiede al server del tempo, che nella tabella viene visualizzato in millisecondi.
Query SQL che eventualmente sono presenti nella pagina: il nome che hai ad esse assegnato, il datasource che utilizza, i record che restituiscono, il tempo di esecuzione per ciascuna query e il file dove fisicamente si trova il cfquery.
Variabili disponibili nella pagina CFML aperta secondo i vari scope: le variabili CGI sono create da ColdFusion e permettono di accedere ad informazioni che riceve o rende disponibili il webserver; le variabili di tipo Cookie, se esistono, e i valori che hanno, eccetera.
Tutte queste informazioni sono utili durante lo sviluppo di un'applicazione, e - insieme agli eventuali messaggi di errore - possono aiutare a risolvere velocemente un problema.