tbl_feedback Id Autonumber primary key E poi ho inserito un paio di records in modo da fare un test dell'intera procedura.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "tbl_feedback Id Autonumber primary key E poi ho inserito un paio di records in modo da fare un test dell'intera procedura."

Transcript

1 Database access with ADO Se il nostro sito diventa popolare dovremmo ricevere un mucchio di e presto ci accorgeremo che programmi come Outlook o Eudora non sono adeguati a conservare questo dati. Ma grazie a Dio, ci sono le banche dati. In un sito moderno, le banche dati sono come il cuore in un essere umano: indispensabili. Costruiamone una subito. Io ne ho fatta una in Microsoft Access. L'ho chiamata CRM.mdb poiché vogliamo costruire un sistema di Customer Relationship Management (CRM, gestore dei rapporti con i clienti) che ci permetta di comunicare con i nostri clienti in una maniera più efficiente. Dentro crm.mdb ho messo una tabella chiamata: tbl_feedback Nome campo Tipo campo Id Autonumber primary key Nome Commenti Text Text Memo E poi ho inserito un paio di records in modo da fare un test dell'intera procedura. A questo punto lasciami chiarire la scelta di Access come database. Io di solito uso MS SQL ma ho pensato che Access sia un pò più accessibile come costo. Però il tipo di database che adoperi per questi esercizi non è molto rilevante. Il code che scriveremo funziona per quasi tutte le banche dati commerciabili, quindi scegli quella con cui sei più comodo. Prima che andiamo troppo avanti però, devo dirti che Access non è una soluzione industriale, non è il tipo di applicazione che vorrei adoperare su un web server per un sito commerciale. Allora cominciamo a fare cose serie. Fino a poco tempo fa, costruire un sito dinamico con un database era un lavoro solo per i "big boys" ma adesso con oggetti (o meglio super oggetti) come ActiveX Database Object (ADO) è diventato un gioco da ragazzi. ADO è come un superset di un oggetto. È una collezione di oggetti che, tutte insieme, semplificano il lavoro di collegare e manipolare i dati che risiedono dentro il database. In più ADO è inserito dentro un'altra tecnologia di Microsoft, Object Linking & Embedding DataBase (OLE DB), il che rende le cose ancora più facili. La prima cosa da fare per lavorare con un database è di creare una connection. Se vuoi dare acqua al giardino devi attaccare il tubo al rubinetto, è uguale. Il metodo che adoperiamo per collegarci è sempre lo stesso indipendentemente dal tipo di database che utilizziamo, la sintassi però varia. Ci sono diverse maniere per collegarsi ma qui, per semplicità adoperiamo la Connection String. Per esempio per collegarci con il nostro database dobbiamo inserire il seguente codice:

2 Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/dovehaimessoiltuo/crm.mdb Un consiglio gratuito: non salvare mai il database nella stessa directory dei tuoi file ASP. Mettilo sempre fuori dal tuo Web Root, in modo da renderla inaccessibile agli utenti. Lo stesso code per MS SQL per esempio è Provider = SQLOLEDB; Data Source = ilnomedeltuoserver; Initial Catalog= nomedeldatabase; User Id=ilnome; Password=lapassword Comunque una volta che abbiamo inserito uno di questi due comandi per la nostra pagina ASP siamo collegati al database. Non ci credi? Beh, prova un po' questo codice (chiama il file check_connection.asp) Set objconn = Server.CreateObject("ADODB.Connection") objconn.open("provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/asptutorial/crm.mdb") Set objrs = Server.CreateObject("ADODB.Recordset") set objrs = objconn.execute("select * from tbl_feedback") Do while NOT objrs.eof response.write "nome = " & objrs("nome") & "<br>" response.write " = " & objrs(" ") & "<br>" response.write "commenti = " & objrs("commenti") & "<br>" response.write "<hr size='1' color='midnightbluè width='40%' align='left'>" objrs.movenext Loop objrs.close Set objrs = Nothing objconn.close Set objconn = Nothing Se non ha funzionato, leggi i messaggi che il Browser ti dà sulla pagina. Io qui uso IE5.5 e se per esempio metto l'indirizzo del database sbagliato mi dice: Error Type: Microsoft JET Database Engine (0x ) 'C:\asptutorial\tut\crm.mdb' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides. /tut/check_connection.asp, line 4 Svelto, guardo subito alla linea 4 e vedo subito dove è il problema. Se a questi punto il database non funziona non puoi continuare con le lezioni. Quindi concentrati e lavora. Quando sei riuscito a vedere il contenuto del tuo database, prosegui con la lezione 11 e vediamo un po' che cosa è che abbiamo fatto in realtà.

3 Facciamo la conoscenza con il Connection e il Recorset Congratulazioni ;o) Adesso che hai passato questo ostacolo, non ce ne sono più. Di qui in poi, è tutta discesa. A dir la verità, è proprio incredibile come si fa presto al giorno d'oggi. Fino a poco tempo fa ci sarebbero volute delle settimane per fare una cosa simile. La metafora del Lego sta diventando più e più realtà. Allora cos'è che abbiamo fatto esattamente? Cosa significa il codice che abbiamo usato? Cominciamo dal principio: Abbiamo già visto prima come si costruisce un oggetto con NewMail. Qui faremo lo stesso. Costruiamo un oggetto Connection che appartiene ad ADO e lo chiamiamo objconn. Set objconn = Server.CreateObject("ADODB.Connection") Poi usando il metodo Open del Connection Object ci colleghiamo al database: objconn.open("provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/asptutorial/crm.mdb") Adesso abbiano bisogno di un oggetto Recordset (anche questo di ADO) per metterci dentro tutti i nostri dati che vengono fuori quando interroghiamo il database. Set objrs = Server.CreateObject("ADODB.Recordset") E poi con il metodo Execute dell'oggetto Connection eseguiamo una query al database e depositiamo il risultato nel recordset che abbiamo costruito. set objrs = objconn.execute("select * from tbl_feedback") Ciò che faremo di qui in poi l'abbiamo già visto. Questo While Loop semplicement dice "fai finché non siamo arrivati alla fine del file" (EOF = End Of File) Do While NOT objrs.eof Scrivimi il nome, e commenti del primo record: response.write "nome = " & objrs("nome") & "<br>" response.write " = " & objrs(" ") & "<br>" response.write "commenti = " & objrs("commenti") & "<br>" response.write "<hr size='1' color='midnightbluè width='40%' align='left'>" e quando l'hai fatto spostati al prossimo record objrs.movenext e rifallo

4 Loop Poi si pulisce. objrs.close Set objrs = Nothing objconn.close Set objconn = Nothing Tutto qui. Naturalmente questa non è l'unica maniera di scrittura del codice e forse neanche la più efficiente, comunque avrai poi tempo di sperimentare per conto tuo. Questo metodo è semplice e valido. Bisogna sottolineare che è molto importante chiudere il recordset e la connection. Vedremo i motivi un po' più avanti. La regola più importante per accedere ad una database è uguale a quella nell'affrontare una rotonda stradale: entra più svelto che puoi ed esci appena possibile. Quindi la connection deve essere chiusa al più presto possibile in modo da far posto a un'altra macchina. È più che sicuro che nella nostra applicazione queste righe di code saranno ripetute molte volte anche spesso nella stessa pagina. Anche se fai 100 chiamate nella stessa pagina mai lasciare aperta la connection, chiudila sempre e crearne un'altra quando ne hai bisogno. Altrimenti se continui a girare intorno e intorno gli altri faranno fatica ad entrare. Allora, vediamo se possiamo semplificare un po' il codice che abbiamo scritto per evitare di scrivere sempre tutto. Per esempio la string che usiamo per collegarci al database, poiché è sempre la stessa, non potremmo metterla nel global.asa? Ricordi? Se la mettiamo in quel file ce l'abbiamo sempre e se spostiamo il database da un'altra parte o se ne facciamo un'altra dobbiamo solo cambiare quella linea e tutto il resto funziona. Sub Application_OnStart() strdbconn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:/asptutorial/crm.mdb" Set Application("dbconn") = strdbconn End Sub Cosi che nelle nostre pagine ci colleghiamo così: objconn.open Application("dbconn") O ancora meglio, potremmo scriver una procedura Sub Prendi_Recordset(objConn, objrs, strconn, strsql) 'Purpose: riceve un recordset dalla mia database 'Date: 28 March 2001 Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn

5 Set objrs = objconn.execute (strsql) End Sub Tutte le volte che devi accedere al database basta una riga sola call Prendi_recordset(objConn, objrs, strconn, strsql) dove naturalmente strconn e strsql sono: strsql ="SELECT * from tbl_feedback" strconn = Application("dbconn") e così finiamo questo programma per bene. (Segue check_connection.asp) Option Explicit 'Purpose: controlla se la nostro database funzione 'Date: 28 March 2001 Dim objconn, objrs call Main() Sub Main() 'Purpose: logica dell'applicazione 'Date: 28 March 2001 Dim strconn, strsql strconn = Application("dbconn") strsql ="SELECT * from tbl_feedback" call Prendi_Recordset(strConn, strsql) call Guarda_Recordset(objRs) 'pulisci e chiudi objrs.close Set objrs = Nothing objconn.close Set objconn = Nothing End sub Sub Guarda_Recordset(objRs) 'Purpose: mostra un recordset dalla mia database 'Date: 28 March 2001 Do while NOT objrs.eof response.write "nome = " & objrs("nome") & "<br>" response.write " = " & objrs(" ") & "<br>" response.write "commenti = " & objrs("commenti") & "<br>" response.write "<hr size='1' color='midnightbluè width='40%' align='left'>" objrs.movenext Loop End sub Function Prendi_Recordset(strConn, strsql) 'Purpose: riceve un recordset da un query 'Date: 28 March 2001 Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn Set objrs = objconn.execute (strsql) End Function Conoscenza col Connection e Recordset non basta

6 Nella lezione precedente siamo riusciti a estrarre un recordset dal nostro database. Bene, da qualche parte si deve pur cominciare. Se non l'avevi mai fatto sono sicuro che sei molto contento con te stesso ;o) L'oggetto Recordset però è un po' più complicato di quello che abbiamo fatto fino adesso. Se ci hai fatto caso, nel programma check_connection.asp abbiamo dovuto mantenere la Connection con il database aperta finché non abbiamo finito col recordset. La ragione è che il metodo che abbiamo adoperato, essendo il più semplice, ci ha dato un Connected Recordset. C'è un'altra maniera, e più efficiente di estrarre un recordset che ci permette di chiudere la connection non appena i dati sono arrivati. Questo è il Disconnected Recordset. Modifichiamo il nostro Prendi_Recordset così che possiamo chiudere la connection subito. Prima però abbiamo bisogno di includere un file che contiene i valori delle costanti di ADO. Il file si chiama adovbs.inc e si include nella pagina con questa sintassi: <!--#include virtual="yourwebroot/dovelatrovo/adovbs.inc"--> Lo so che non abbiamo parlato di Includes e forse è meglio se ne parliamo subito. Gli Includes sono un po' come le Funtions e le Procedures e si adoperano per incapsulare del codice in modo da poterlo riutilizzare in molte pagine. Il motore di ASP, quando vede una direttiva "include", cerca il file e inserisce il codice che trova in quel punto del file. Personalmente io adopero poco i file include perché rendono il codice più difficile da leggere e possono creare problemi se la struttura del directory del sito cambia. Di regola si fa una folder chiamata include e tutte le include si chiamano di li. Per convenzione sono chiamati con estensione.inc ma le puoi chiamare anche con.asp. Come tutto il resto possono contenere ASP, HTML o una mescolanza di tutto. Con un po' di giudizio sono molto utili e anche noi li adopereremo presto. Il più grande vantaggio è che se mettiamo un file include che, per esempio, contiene un numero di funzioni utili al principio di tutte le nostre pagine, quando cambiamo l'include non dobbiamo cambiare nessuna delle nostre pagine. Ma riprendiamo con la nostra funzione che ci dà indietro un recordset disconnesso. Function Prendi_Recordset(strConn, strsql) 'Purpose: ritorna un disconnetted recordset 'Date: 28 March 2001 Dim objconn, objrs Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn Set objrs = Server.CreateObject("ADODB.Recordset") objrs.cursorlocation = aduseclient objrs.open strsql, objconn, adopenforwardonly, adlockbatchoptimistic Set objrs.activeconnection = Nothing objconn.close Set objconn = Nothing Prendi_RecordSet = objrs

7 End Function Ne segue che dalla nostra pagina la chiamiamo con: Set objrs = Prendi_RecordSet(strConn, strsql) La ragione per cui è preferibile chiudere le connessioni al database al più presto è che le connessioni richiedono al server risorse considerevoli. In più se non le chiudiamo esplicitamente rimangono aperte, con il risultato che le performance del Server deteriorano drasticamente. Non vogliamo, insomma, fare aspettare i nostri utenti più di quello che devono. Spesso però dobbiamo fare delle query al database che non richiedono che il codice ci ritorni un recordset. Per esempio se volessimo inserire un nuovo record nella nostro database o se ne volessimo cambiare uno già in esistenza. In questi casi è sufficiente collegarci e eseguire la query, così: dbconn = Application("dbconn") strsql = "INSERT INTO tbl_feedback ( nome, , commenti, ricevuto ) Values('amerigo therè,now());" Set objconn = Server.CreateObject("ADODB.Connection") objconn.open dbconn objconn.execute strsql Quando questi programmi non funzionanao subito come vorresti, usa il response.write per vedere cosa è che non va. Per esempio con: Response.write strsql Potresti vedere il code sql della tua query. Se lo tagliamo e lo incolliamo nella query window di Access vedi subito se funziona o no. Lo puoi mettere a posto da lì e quando ha funzionato in Access lo puoi incollare di nuovo nel tuo programma. Anche in questi case sarebbe meglio fare una Function così che la possiamo usare dappertutto e in una maniera uniforme. Sub fai_query(strconn, strsql) 'Purpose: fa una query con una string valida di SQL 'Date: 29 March 2001 Dim objconn Set objconn = Server.CreateObject("ADODB.Connection") objconn.open strconn objconn.execute strsql objconn.close set objconn = Nothing End Sub

8 Quando la chiamiamo dal nostro programma, questo basta Call fai_query( strconn, strsql) A questo punto abbiamo un bell'esempio per l'uso di una include file. Se mettiamo queste Procedure e funzioni che abbiamo scritto per connetterci al database in un file unico e chiamandolo attrezzi_db.inc, possiamo adoperarle dappertutto nelle nostre pagine. <!--#file virtual=lamiawebroot/include/attrezzi_db.inc --> Il nostro programma diventa molto più facile da leggere, ci risparmiamo un mucchio di linee di codice e siamo sicuri che chiudiamo le Connections. Non ho ancora finito. Lezione pratica. Adesso che sai recuperare un record dal database e metterne dentro uno nuovo non ci rimane un gran che da fare. Per fare qualcosa di utile cerchiamo allora di costruire un'applicazione che ci permetta di inserire delle informazioni nel database attraverso una form e di mostrarle quando visualizziamo una pagina. Per esempio: se volessimo mostrare notizie di attualità sul nostro sito e cambiarle ogni giorno, non sarebbe meglio automatizzare il lavoro invece di scrivere HTML in continuazione? Io penso di sì! Allora scriviamo il pseudocodice che descrive l'applicazione: Input Se la form è vuota Mostrala Se no Entra I dati nel database Output Prendi il recordset dal database Formattalo e mostralo all'utente Subito costruiamo un'altra tabella per questa applicazione dove mettiamo i seguenti campi: tbl_news Nome campo Tipo campo Id Titolo Sottotitolo Testo Data_vivo Data_morto primary key Text Memo Memo date/time date/time Hai fatto? Via! La form la fai con gli occhi chiusi. Io, qui sotto, modifico quella che abbiamo già

9 fatto per il feedback, è quasi uguale. Salva questa form e chiamala news.inc Io uso i file include (.inc) di rado, ma ora voglio farti vedere un po' tutte le maniere in cui si può lavorare. <-- NEWS.INC--> <-- input form per le news applicazione--> <HTML> <HEAD> <TITLE>News Input</TITLE> </head> </HEAD> <BODY> 'usiamo questa flag per controllare se la form è stata mandata <FORM ACTION="news.asp?submitted=true" METHOD="post"> <div align="center"> <table border="0" width="95%" celpadding="2" cellspacing="2"> <td><h1>entra le news per oggi qui... <hr align="left" size="1" width="100%" color="navy"></h1> <td align="center"><br><br> <table width="80%" border="0" celpadding="2" cellspacing="2"> <td>titolo <td><input NAME="titolo" TYPE="TEXT" size="80" MAXLENGTH="80"> <td>sottotitolo <td valign="top"> <TEXTAREA NAME="sottotitolo" ROWS="3" COLS="60"></TEXTAREA> <td valign="top">news <td><textarea NAME="news" ROWS="10" COLS="60"></TEXTAREA> <td nowrap>data di entrata <td valign="top"> <INPUT NAME="vivo" TYPE="TEXT" Value="= Now() " size="24" MAXLENGTH="24"> <td nowrap>data di scadenza <td valign="top"> <INPUT NAME="morto" TYPE="TEXT" size="24" MAXLENGTH="24"> <td valign="top"><b> </b> <td> <td colspan="2" align="center"> <table width="40%" border="0" celpadding="6" cellspacing="2"> <td align="right"> <INPUT TYPE="submit" NAME="submit" VALUE="Entra"> <td align="left"> <INPUT TYPE="reset" NAME="Reset" VALUE="Reset"> </table> </table> </table> </div> </FORM> </BODY> </HTML>

10 L'unica cosa che ancora non hai visto qui è la maniera in cui inseriamo il valore dalla data di oggi. Mi sembra che ne abbiamo parlato nella prima lezione. Inutile farlo a mano, no? <td nowrap>data di entrata <td valign="top"> <INPUT NAME="vivo" TYPE="TEXT" Value="= Now() " size="24" MAXLENGTH="24"> Le date sono sempre un po' problematiche con le banche dati e nel maneggiarle di sicuro ti verrà qualche capello bianco. Infatti paesi diversi adoperano formati diversi. Per esempio negli USA la data è sempre riportata come mese/giorno/anno, mentre in Europa è giorno/mese/anno. A dirti la verità io odio le date ma, hey! Non si può farne a meno. Adesso mettiamoci intorno il resto del programma adoperando quella library che abbiamo già fatto attrezzi_db.asp. Includendola abbiamo accesso alle nostre funzioni. Option Explicit 'Purpose: applicazione per le news 'Date: 30 March 2001 <!-- la mia è nella stessa folder --> <!-- #include file="attrezzi_db.asp" --> Dim strconn, message Dim titolo, sottotitolo, testo, vivo, morto call Main() Sub Main() 'Purpose: la logica dell'applicazione 'Date: 29 March 2001 Dim submitted, query, form submitted = Request.QueryString("submitted") If submitted then call vendemmia(form) query = costruisci_query(titolo,sottotitolo,testo,vivo,morto) strconn = Application("dbconn") 'questa è in attrezzi_db.inc, ti ricordi? quindi ce l'abbiamo call fai_query(strconn, query) call quale_risultato(message) else <!-- mettiamo la form qui --> <!-- #include file="news.inc"--> end if end Sub Sub vendemmia(form) 'Purpose: raccogli i dati dalla form 'Date: 29 March 2001 corregge il problema di " 'questo Replace lo facciamo per il carattere """ 'altrimenti la Database si confonde titolo = Replace(Request.Form("titolo"),"'","''") sottotitolo = Replace(Request.Form("sottotitolo"),"'","''") testo = Replace(Request.Form("news"),"'","''") vivo = Request.Form("vivo") morto = Request.Form("morto") end sub Function costruisci_query(titolo,sottotitolo,news,vivo,morto)

11 'Purpose: costruisce la query 'Date: 29 March 2001 Dim strsql strsql = "INSERT INTO tbl_news ( titolo, sottotitolo, testo, data_vivo, data_morto)" strsql = strsql & " Values('" strsql = strsql & titolo & "','" strsql = strsql & sottotitolo & "','" strsql = strsql & testo & "','" strsql = strsql & vivo & "','" strsql = strsql & morto & "')" 'se hai dei guai costruendo questa, metti un 'Response.Write strsql & "<br>" 'così la vedi e la puoi accomodare costruisci_query = strsql End Function Sub quale_risultato(message) 'Purpose: cronaca il risultato della query e formatta una risposta 'Date: 29 March 2001 Select case message case "ok" response.write "Tutto è andato bene, <br> e grazie per il pesce." response.write "<br><br><div align='center'><a href='javascript:history.back()'>click to go back</a></div>" case "not ok" response.write "È un grosso disastro! <br> Chissa cosa è successo?" response.write "Prova a scrivere la query e altre variabili per vedere se riesci a risolvere il problema." response.write "<br>anche la professione del falegname è onorevole ;o)" response.write "<br><br><div align='center'><a href='javascript:history.back()'>click to go back</a></div>" case else response.write "Se sei qui è metafisica pura" end select end sub Non è un gran che diverso da quello che abbiamo già fatto prima. Ma come sempre quando si comincia a scrivere il codice il pseudocodice si espande e così il nostro originale è diventato: Input Se la form NON è vuota includi il file attrezzi.asp vendemmia la form costruisci la query esegui la query chek per errori Entra I dati nelil database cronaca il risultato Se no Mostra la Form finito Costruire la query, cosa che ancora non avevamo fatto, è sempre un po' difficile ma richiede solo attenzione. Le prime volte è sempre meglio stamparla così si vede cosa non va. Più che altro stai attento alla sintassi mettendola in ordine come ho fatto io, o ancora di più se vuoi. Ordine is GOOD! Per esempio guarda come spesso si programma in ASP:

12 strsql = "INSERT INTO tbl_news ( titolo, sottotitolo, _ testo, data_vivo, data_morto) Values ('"_ & titolo& "','" & sottotitolo & "', ' " & testo &_ "','" &vivo& "','" & morto & "')" Come fai a vedere errori di sintassi qui? e questa è una query da bambini. Ancora meglio di quello che ho fatto io sarebbe: strsql = "INSERT INTO tbl_news" strsql = strsql & "(" strsql = strsql & "titolo," strsql = strsql & "sottotitolo," strsql = strsql & "testo," strsql = strsql & "data_vivo, " strsql = strsql & "data_morto)" strsql = strsql & " Values('" strsql = strsql & titolo strsql = strsql & "','" strsql = strsql & sottotitolo strsql = strsql & "','" strsql = strsql & testo strsql = strsql & "','" strsql = strsql & vivo strsql = strsql & "','" strsql = strsql & morto strsql = strsql & "')" Vedi come è più facile trovare errori con un buon layout? Un altro cambiamento è avvenuto nella nostra fai_query(), la funzione che esegue la query. Quando si fanno delle query al database c'è sempre la possibilità che qualche cosa non funzioni e così è indispensabile controllare ogni errore. Guarda come abbiamo modificato il code di fai_query(): On Error Resume Next objconn.execute strsql if err = 0 then objconn.close set objconn = Nothing message = "ok" else message = "not ok" end if la linea On Error Resume Next forza il programma a continuare in caso di errore. Se non c'è un errore, l'oggetto Error rimane a zero e noi implementiamo un flag che dice "ok" ma se un errore è occorso allora mandiamo un messaggio al nostro utente per dirgli che qualcosa non ha funzionato. La nuova procedura quale_risultato(message) manda il messaggio che vogliamo noi invece di uno che vuole Microsoft. Allora tutto quello che rimane è formattare l'output ma lo faremo nella prossima lezione.

13 Come presentare l'output Questa lezione sarà di riposo. Vogliamo solo finire la nostra applicazione per le news e sappiamo già cosa dobbiamo fare. Vediamo allora come formattare l'output: Output Prendi il recordset dalil database Format e mostrala al cliente Se modifichiamo il nostro file check_connection.asp esso dovrebbe già fare tutto. Cambiamo la query e basta. Ma adesso mi accorgo che questa lezione non è un riposo poiché abbiamo a che fare con delle date ;o( Beh, tanto vale che risolviamo il problema. Se vogliamo che il nostro programmino di News sia utile bisogna che facciamo vedere solo le News che si riferiscono alla data corrente quindi la nostra query deve tener conto forzatamente della data e dovrebbe diventare select * from tbl_news where data_morto < oggi In genere il formato della data dipende da come il server è stato configurato e non sempre noi abbiamo controllo del server. Diciamo che il tuo sito è su un server a Bologna e tutto funziona perfettamente. Domani invece lo muovi su un server a Seattle (USA) perché ti costa la metà, funzionerà tutto bene anche lì? Io credo di no. Il server americano di sicuro salva la data come mese/giorno/anno mentre a Bologna tu adoperavi giorno/mese/anno. Se, per esempio, si vuole inserire un comando del tipo: se 02/03/01 è diverso da 03/02/01 allora cambia la data a Bologna sarà vero ma a Seattle non lo sarà più anche se la data è la stessa. Come facciamo a risolvere questi problemi? Non è poi così difficile è solo una seccatura. Prova un po' questo: Option Explicit dim oggi,x oggi = date() response.write "oggi = " & oggi & "<br>" x = split(oggi, "/") response.write "x(0) = " & x(0) & "<br>" response.write "x(1) = " & x(1) & "<br>" response.write "x(2) = " & x(2) & "<br>"

14 Con la funzione Split riusciamo a separare i tre campi della data. Una volta che li abbiamo così, possiamo rimetterli a posto come vogliamo noi data_bologna = x(0) & "/" & x(1) & "/" & x(2) data_seattle = x(1) & "/" & x(0) & "/" & x(2) Allora adesso che abbiamo risolto il problema della data, torniamo al nostro output per il programma News. Prendi il vecchio check_connection.asp è chiamalo news_out.asp. L'unica cosa da fare qui è cambiare: Sub Guarda_Recordset(objRs) così che si presenta un po' meglio. Prima però mettiamo un altro campo nel database così che possiamo mandare i nostri clienti direttamente ad un'altra pagina dove la news viene mostrata per intero o ad un altro sito dove ci sono informazioni più approfondite. Naturalmente bisogna anche cambiare l'input così che possiamo inserire questo URL nel database. Ora la nostra tbl_news ha un campo chiamato url e questi comandi vanno nel nostro news.inc: <td nowrap>url <td valign="top"><input NAME="url" TYPE="TEXT" size="24" MAXLENGTH="100"> Allora adesso dobbiamo fare in modo che la pagina mostri il titolo e il sottotitolo di tutte le news che abbiamo con la data_morto > (maggiore) di oggi. Poi quando il cliente clicca sul titolo il testo deve apparire per intero. Adesso la mia procedura è diventata: Sub Guarda_Recordset(objRs) 'Purpose: mostra un format recordset dalla mia database 'Date: 28 March 2001 dim titolo, sottotitolo, test, url 'vendemmia la form titolo = objrs("titolo") sottotitolo = objrs("sottotitolo") url = objrs("url") Do while NOT objrs.eof 'tanto per cambiare possiamo usare HTML puro <table width="80%" border="0" cellpadding="4" cellspacing="2"> <td rowspan="2" width="5%" valign="top"><img src="news.gif" width="32" height="36" alt="" border="0"> <td bgcolor="#8b4513" widrh="100%"><a href="=objrs("url")"><font size="+2" color="white">=titolo</font></a>

15 <td bgcolor="#b8860b"><font size="+1" color="white">=sottotitolo </table> objrs.movenext Loop End sub Come vedi puoi formattare l'output come vuoi e come hai sempre fatto. L'unica linea che non abbiamo commentato è quella dell'url <a href="=objrs("url")">=titolo</a> Si potrebbe anche fare molto meglio passando l'id della news nella Request.Querystring così: <a href="=objrs("url")?id==objrs("id")=titolo</a> se questa sintassi ti sembra un po' confusa prova invece: response.write "<a href='" & url & "?id=" & id "'>" & titolo & "</a>" tutte e due danno lo stesso risultato. Ormai è tutto semplice no?

Corso basi di dati ASP e i database

Corso basi di dati ASP e i database Corso basi di dati ASP e i database Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre ASP e i database Un ruolo senza dubbio rilevante di ASP è quello di mediatore tra Web server

Dettagli

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB Accesso a basi di dati con ASP 1 Algoritmo per visualizzare un DB 1. creare una connessione tra lo script ASP e il database 2. Costruire una QUERY in linguaggio SQL che opera sul database 3. Recuperare

Dettagli

3. Programmazione con le pagine ASP classiche

3. Programmazione con le pagine ASP classiche LIBRERIA WEB 3. Programmazione con le pagine ASP classiche 1. Le pagine ASP in generale ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server,

Dettagli

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB Per visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset

Dettagli

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB Per visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset

Dettagli

GESTIONE DI MDB in WEB

GESTIONE DI MDB in WEB GESTIONE DI MDB in WEB Il presente documento riporta un esempio generico di gestione di un database di Access. Il lettore può personalizzare in base alle proprie esigenze sia il contenuto del database,

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

Pagine Asp. Pagine Asp

Pagine Asp. Pagine Asp Pagine Asp Architettura web Esistono alcune limitazioni alle applicazioni che si possono realizzare in HTML, ad esempio non è possibile costruire un sito web che consenta all utente di accedere ai dati

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

APPUNTI SU ADO (ACTIVEX DATA OBJECTS)

APPUNTI SU ADO (ACTIVEX DATA OBJECTS) APPUNTI SU ADO (ACTIVEX DATA OBJECTS) Introduzione ADO (Activex Data Object) è il sistema di accesso a database che noi utilizzeremo in ambiente Microsoft, sia da Visual Basic sia da pagine ASP. Activex

Dettagli

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente!

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente! Lezione nr. 5 >> Come creare un modulo Web I moduli web sono delle strutture fondamentali per ogni sito web e la loro conoscenza ti permetterà di risolvere almeno il 60% delle problematiche di gestione

Dettagli

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP)

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) Augusto Scatolini (webmaster@comunecampagnano.it) (a.scatolini@linux4campagnano.net) Miniguida n. 183 Ver. 1.0 aprile 2013 La prima guida

Dettagli

La tecnologia ASP.NET e i database

La tecnologia ASP.NET e i database Introduzione alle pagine dinamiche Con il linguaggio HTML si possono creare delle pagine Web statiche. Se invece volessimo creare delle pagine Web dinamiche, pagine il cui codice html viene generato al

Dettagli

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere.

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere. Lezione nr. 8 Ciao e benvenuto all ultima lezione del corso base. Innanzitutto voglio complimentarti con te per essere arrivato fino a qui. E stato un percorso un po duro e sei stato bravo nel superare

Dettagli

www.mtcube.com Manuale di ASP

www.mtcube.com Manuale di ASP Manuale di ASP Sommario degli argomenti Che cosa sono le Active Server Pages... 3 Struttura, creazione ed esecuzione della pagina Asp... 3 Variabili e tipi di dati... 4 Numero Intero... 4 Numeri in virgola

Dettagli

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO CARICARE DATI IN UNA TABELLA DA UN FORM Per utilizzare il Database nel Web, è necessario essere collegati al Db stesso, per far ciò, si utilizzano gli ADO

Dettagli

Data Base in Internet

Data Base in Internet Data Base in Internet Esempio di applicazione ASP Prof. Claudio Maccherani Un applicazione che interroghi un database remoto in un server Web è scritta in ASP (Active Server Page) se piattaforma NT / IIS

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access Prologo Parlando di tecnologie Web legate a Microsoft è naturale integrare le funzioni di ASP 1 con

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Brescianet.com Sito didattico - Prof. Sechi Marco

Brescianet.com Sito didattico - Prof. Sechi Marco Brescianet.com Sito didattico - Prof. Sechi Marco FAQ Cerca Lista degli utenti Gruppi utenti Profilo Non ci sono nuovi messaggi Esci [ e01692 ] III MODULO - ASP - Classe 5I Indice del forum -> Appunti

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Un Web Browser (client) Un Web Server (server) Un Database

Un Web Browser (client) Un Web Server (server) Un Database Interfacciamento di database su web con ASP ed ADO Introduzione Una applicazione web utilizza un sito web come front end per una tradizionale applicazione. La distinzione tra sito ed applicazione web risiede

Dettagli

Elementi della sintassi

Elementi della sintassi orsi di Laurea Specialistica in Ingegneria nformatica/gestionale Sistemi Informativi per il Web A.A. 2005 2006 Active Server Pages ed ADO Scrivere ASP Le pagine ASP possono contenere codice HTML o XML

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Interazione con l utente : i moduli.

Interazione con l utente : i moduli. Interazione con l utente : i moduli. Nelle lezioni fin qui riportate, non abbiamo mai trattato l input di utente. Nelle applicazioni web, l input dell utente si acquisisce tramite i moduli (o FORM) HTML.

Dettagli

A. Lorenzi Pagine ASP

A. Lorenzi Pagine ASP Pagine ASP Web server software per la gestione di un computer host Internet oppure di un server di rete, che mette a disposizione dati o applicativi per gli utenti della rete Web server IIS (Internet Information

Dettagli

Metodologie Informatiche Applicate al Turismo

Metodologie Informatiche Applicate al Turismo Metodologie Informatiche Applicate al Turismo 9. HTML Parte II Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Scienze

Dettagli

LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB

LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB Come nella lezione precedente, dovendo visualizzare i dati di una tabella

Dettagli

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato VBScript Visual Basic Scripting Edition 1 VBScript Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato 2 Pag. 1 Principali caratteristiche Fine istruzione singola

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

ASP: ESERCIZI E SOLUZIONI

ASP: ESERCIZI E SOLUZIONI Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: ESERCIZI E SOLUZIONI Esercizi Si propongono tre esercizi in ASP che prevedono l'utilizzo di un

Dettagli

Approfondimento: i sistemi di gestione delle basi di dati (DBMS)

Approfondimento: i sistemi di gestione delle basi di dati (DBMS) Approfondimento: i sistemi di gestione delle basi di dati (DBMS) Prerequisito essenziale della funzionalità delle basi di dati è il controllo e la fruibilità dell informazione in esse contenuta: a tale

Dettagli

Trucchi, consigli e suggerimenti per il tuo portale in ASP

Trucchi, consigli e suggerimenti per il tuo portale in ASP Trucchi, consigli e suggerimenti per il tuo portale in ASP di Salvatore Aranzulla Prima edizione Luglio 2004 Pagina 1 di 162 Sai che è possibile creare un sito con guestbook, news, sondaggi e tutto quello

Dettagli

Caratteristiche dell'applicativo da utilizzare Schema generale della procedura e organizzazione dei dati

Caratteristiche dell'applicativo da utilizzare Schema generale della procedura e organizzazione dei dati Esame di Stato Istituto Tecnico Commerciale CORSO SPERIMENTALE Progetto "MERCURIO" Indirizzo: PROGRAMMATORI Soluzione della Seconda Prova Tema di: INFORMATICA Anno Scolastico: 2002-2003 Riflessioni e apparecchiature

Dettagli

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Remote SQL Command Execution

Remote SQL Command Execution Remote SQL Command Execution Spesso si ha a che fare con SQL Injection se ci si trova nel campo della sicurezza informatica, ma non sempre si è a conoscenza di quanto una vulnerabilità del genere può essere

Dettagli

RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE

RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE Gabriele Fiorani 5^D Mercurio 2012/2013 RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE TRACCIA DEL PROBLEMA Realizzare un sito di tipo e-commerce che consenta di gestire l intera procedura informatica

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

WWW (World Wide Web)!& ( # %% (*0 #,% )0#1( &#"#2

WWW (World Wide Web)!& ( # %% (*0 #,% )0#1( &##2 ! "#$" %% $"$&&"'& $%%& $'&( ) *+&, ) && *+ ( -./ WWW (World Wide Web)!& ( # (&%#(!(&&( %% (*0 #,% )0#1( &#"#2 Siti Web pagine Web: documenti pronti per essere registrati su un server Internet residenza

Dettagli

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA Esame di Stato Istituto Tecnico Commerciale CORSO SPERIMENTALE Progetto "MERCURIO" Indirizzo: PROGRAMMATORI Soluzione della Seconda Prova - Tema di: INFORMATICA Anno Scolastico: 2002-2003 Riflessioni e

Dettagli

Architettura a tre livelli (1)

Architettura a tre livelli (1) Elaborazione Automatica dei Dati Php e MySQL Enrico Cavalli Anno Accademico 2012-2013 Architettura a tre livelli (1) Le applicazioni sono sviluppate secondo una architettura a tre livelli, affermatasi

Dettagli

PHP e MySQL. Scripting server-side per accesso a DB MySQL

PHP e MySQL. Scripting server-side per accesso a DB MySQL PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,

Dettagli

Strumenti a disposizione

Strumenti a disposizione FORM Strumenti a disposizione L'HTML visto fino ad ora permette di descrivere solo documenti statici e passivi Colori, immagini, testi, etc... L'utente può solo interagire con i link Non sempre questo

Dettagli

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

Dettagli

ASP 3.0 Il Sito Dinamico

ASP 3.0 Il Sito Dinamico www.idstudio.it ASP 3.0 Il Sito Dinamico di Lorenzo Garassino Introduzione e scopo del libro 1. Scenario 1.1. Il panorama 1.2. Sito Statico o Dinamico? 1.3. Prospettive 2. Cos è ASP 2.1. Descrizione 2.2.

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Lezione II: Web server e ambiente di lavoro

Lezione II: Web server e ambiente di lavoro Lezione II: Web server e ambiente di lavoro In questa lezione, in laboratorio, si mostrerà quali sono i passi necessari per creare ed eseguire una pagina ASP. Brevemente, verrà fatto anche vedere, come

Dettagli

Sicurezza Informatica: Tecniche di SQL INJECTION

Sicurezza Informatica: Tecniche di SQL INJECTION Sicurezza Informatica: Tecniche di SQL INJECTION Pietro Bongli Aprile 2004 N.B. L'informazione contenuta in queste pagine è divulgata per scopi puramente didattici e non per ni illegali. Structured Query

Dettagli

Lezione nr. 3. >> Le basi della tecnologia PHP per scrivere applicazioni per il web.

Lezione nr. 3. >> Le basi della tecnologia PHP per scrivere applicazioni per il web. Lezione nr. 3 >> Le basi della tecnologia PHP per scrivere applicazioni per il web. Ciao, spero tu abbia installato l editor di testo preferito o quello che ti ho consigliato e che tu sia riuscito a creare

Dettagli

Richiami sugli elementi del linguaggio HTML

Richiami sugli elementi del linguaggio HTML Richiami sugli elementi del linguaggio HTML Un documento in formato Web può essere aperto con un browser, attraverso un collegamento a Internet oppure caricandolo dal disco del proprio computer senza connettersi

Dettagli

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti.

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. Questa possibilità si materializza attraverso i meccanismi che permettono

Dettagli

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

Dettagli

Lezione nr. 7. >> Come posso recuperare un valore da un campo TEXT?

Lezione nr. 7. >> Come posso recuperare un valore da un campo TEXT? Lezione nr. 7 >> Come posso recuperare i valori di un modulo web? Siamo finalmente giunti alla lezione che inizierà ad introdurti nel mondo della programmazione web avanzata. Niente di difficile, ovviamente,

Dettagli

XLAB Manuale d uso e note operative NEWS ANIMATE.

XLAB Manuale d uso e note operative NEWS ANIMATE. XLAB Manuale d uso e note operative NEWS ANIMATE. Autore:Piero De Sabbata il 31/03/2008 Logbook Autore del documento: Piero De Sabbata - 31/03/2008 Storia delle modifiche al documento Autore modifica Data

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra

Dettagli

CREAZIONE PAGINE STATICHE

CREAZIONE PAGINE STATICHE CREAZIONE PAGINE STATICHE Schema fondamentale da capire: gli attori Un file di testo (mappa.htm) Manda la pagina richiesta Browser Formatta le pagine secondo i tag html che riceve url/mappa.htm Fabio Scotti

Dettagli

Crea il tuo sito in ASP!

Crea il tuo sito in ASP! Crea il tuo sito in ASP! di Salvatore Aranzulla Prima edizione Luglio 2004 Pagina 1 di 161 Sai che è possibile creare un sito con guestbook, news, sondaggi e tutto quello che puoi immaginare con le ASP

Dettagli

Asp - Active Server Pages. Nicola Gessa

Asp - Active Server Pages. Nicola Gessa Asp - Active Server Pages Introduzione nl introduzione della tecnologia ASP è stata fatta con il rilascio della versione 3.0 di IIS nel 1997. ncon l acronimo ASP (Active Server Pages) si identifica NON

Dettagli

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Riassuntodel corsoe cenni ad argomenti avanzati

Riassuntodel corsoe cenni ad argomenti avanzati Riassuntodel corsoe cenni ad argomenti avanzati In breve.. Sono tutte sequenze di bit! 1 1 0 1 0 1 0 0 0 1 2 1 In breve > Ipertesti in HTML Informazioni di natura non omogenea, cui si accede mediante

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Nozioni di base sull utilizzo di PHP e di MySQL

Nozioni di base sull utilizzo di PHP e di MySQL Nozioni di base sull utilizzo di PHP e di MySQL Che cos è PHP? Mi sento in dovere prima di iniziare ad illustrare le nozioni di base di PHP introdurre dicendo PHP che cos è in sostanza; fino a qualche

Dettagli

INTRODUZIONE ALL HTML

INTRODUZIONE ALL HTML INTRODUZIONE ALL HTML LE REGOLE GENERALI Di seguito, sono raccolti i tag html (comandi) di uso più frequente per la formattazione dei testi e la gestione di una pagina web all interno del nostro sistema

Dettagli

APPUNTI DI PHP : V INFORMATICA SEZIONE G

APPUNTI DI PHP : V INFORMATICA SEZIONE G APPUNTI DI PHP : V INFORMATICA SEZIONE G Prof. Conti R. mysql_connect() Apre una connessione verso un DB MySQL. $db = mysql_connect([$db_host[, $db_username[, $db_password[, $newlink[,$clientflags]]]]]);

Dettagli

Riassunto del corso e cenni ad argomenti avanzati

Riassunto del corso e cenni ad argomenti avanzati In breve Riassunto del corso e cenni ad argomenti avanzati.. Sono tutte sequenze di bit! 1 1 0 1 0 1 0 0 0 1 2 In breve In breve > Ipertesti in HTML Informazioni di natura non omogenea, cui si

Dettagli

ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO SPERIMENTALE Progetto ABACUS SIMULAZIONE PROVA SCRITTA DI INFORMATICA

ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO SPERIMENTALE Progetto ABACUS SIMULAZIONE PROVA SCRITTA DI INFORMATICA Istituto di Istruzione Superiore Alessandrini - Marino ESAME DI STATO DI ISTITUTO TECICO IDUSTRIALE CORSO SPERIMETALE Progetto ABACUS SIMULAZIOE PROVA SCRITTA DI IFORMATICA La società PcTeramo srl è una

Dettagli

Lavorare con MySQL Parte Prima.

Lavorare con MySQL Parte Prima. Lavorare con MySQL Parte Prima. Data la particolarità dell argomento, ho deciso di dividerlo in due lezioni. Nella prima, si parlerà diffusamente di MySQL, cos è un DBMS, cos è l SQL, i campi supportati

Dettagli

Open Database Connettivity (ODBC) Integrazione web-dbms. Open Database Connectivity (ODBC) Open Database Connectivity (ODBC)

Open Database Connettivity (ODBC) Integrazione web-dbms. Open Database Connectivity (ODBC) Open Database Connectivity (ODBC) The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still

Dettagli

Manuale Gateway SMS. (Versione Documento 2.1) pagina 1 di 5

Manuale Gateway SMS. (Versione Documento 2.1) pagina 1 di 5 Manuale Gateway SMS (Versione Documento 2.1) pagina 1 di 5 1. Introduzione Questo documento descrive i diversi metodi e l'uso dell'sms center per trasmettere messaggi SMS con metodo HTTP POST o GET. Il

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE CHIARA FERRARI 5I MERCURIO INDICE: 1. TRACCIA DEL PROBLEMA 2. SVILUPPO DEL PROGETTO (ENTITA, ATTRIBUTI) 3. SCHEMA E-R DELLA BASE DEI

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

Android. Memorizzazione di dati

Android. Memorizzazione di dati Android Memorizzazione di dati Introduzione In questa lezione vedremo quali sono i metodi principali messi a disposizione da una applicazione Android per memorizzare dei dati in maniera permanente e successivamente

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Metodi per la Gestione dei Dati (lezioni di laboratorio) Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Titolare del corso: ing. Stefano SETTI Lezioni di laboratorio

Dettagli

Allegato Relazione Finale di Tirocinio Luciano Manelli 42/A

Allegato Relazione Finale di Tirocinio Luciano Manelli 42/A 1 Cenni di HTML 1.1 Introduzione L'HTML è il linguaggio con cui potete indicare come i vari elementi vanno disposti in una pagina Web. Un documento html non è nient'altro infatti che un file di testo con

Dettagli

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server 2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML Reti Linguaggio HTML 1 HTML = Hypertext Markup Language E il linguaggio usato per descrivere documenti ipertestuali Ipertesto = Testo + elementi di collegamento ad altri testi (link) Linguaggio di markup:

Dettagli

Guida a PHP. Primi esempi

Guida a PHP. Primi esempi Guida a PHP Php è un modulo aggiuntivo per web server che permette di creare delle pagine web dinamiche. Una pagina in Php è composta sia da tag html, sia da parti in codice di programmazione Php. Ogni

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com

PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com 10.07.2006 Ver. 1.0 In questo articolo vedremo come gestire con un FORM l invio di dati ad

Dettagli

Utilizzare PHP 5. Le variabili GET e POST

Utilizzare PHP 5. Le variabili GET e POST Utilizzare PHP 5 Corso Interazione Uomo Macchina AA 2005/2006 Le variabili GET e POST La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste

Dettagli

Esame di stato Informatica Corso Programmatori a.s. 2000/2001

Esame di stato Informatica Corso Programmatori a.s. 2000/2001 La storia di Internet mette in evidenza che il diffondersi delle reti telematiche ha influenzato non solo il campo tecnico della comunicazione tra computer, ma anche le abitudini di vita dei singoli e

Dettagli

Appunti su ASP (Active Server Pages)

Appunti su ASP (Active Server Pages) Client Client Appunti su ASP (Active Server Pages) Che cosa è ASP Un server web è un computer che contiene tutte le pagine web di un determinato sito web. In tale computer è installato un software che

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

Introduzione. Le pagine web sono scritte in HTML un semplice linguaggio di scrittura. HTML è la forma abbreviata di HyperText Markup Language

Introduzione. Le pagine web sono scritte in HTML un semplice linguaggio di scrittura. HTML è la forma abbreviata di HyperText Markup Language HTML 05/04/2012 1 Introduzione Le pagine web sono scritte in HTML un semplice linguaggio di scrittura. HTML è la forma abbreviata di HyperText Markup Language L'ipertesto è semplicemente un testo che funziona

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Nicoletta Barbaro 4C Mercurio TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Un'azienda che distribuisce film in formato dvd chiede ad una software house(4c mercurio)

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

2. Costruire un database con Apache, PHP e MySql

2. Costruire un database con Apache, PHP e MySql 2. Costruire un database con Apache, PHP e MySql Lo scopo di questa esercitazione è realizzare un server web e costruire un database accessibile attraverso Internet utilizzando il server Apache, il linguaggio

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli