ASP: DOMANDE E RISPOSTE (Q&A)



Похожие документы
ASP: ESERCIZI E SOLUZIONI

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

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

Dispensa di database Access

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

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

Lezione III: Oggetti ASP e interazione tramite form HTML

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

PHP e Structured Query Language

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Applicazione ASP di esempio

GESTIONE DI MDB in WEB

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

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

Le query. Lezione 6 a cura di Maria Novella Mosciatti

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Obiettivo dell esercitazione

Manuale di ASP

Volumi di riferimento

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Capitolo 13. Interrogare una base di dati

Data Base in Internet

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

MySQL Database Management System

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

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

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP.

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

19. LA PROGRAMMAZIONE LATO SERVER

Access. P a r t e p r i m a

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Cosa è un foglio elettronico

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Lavorare con MySQL Parte Seconda.

I file di dati. Unità didattica D1 1

Introduzione al Foglio Elettronico

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

OSSIF WEB. Manuale query builder

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Esercizi di JavaScript

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Appunti sulle basi di dati. Cos è una base base di dati? Introduzione. D. Gubiani. 19 Luglio 2005

La tecnologia ASP.NET e i database

Lezione 9. Applicazioni tradizionali

Esercizio sui data base "Gestione conti correnti"

Lezioni di Laboratorio sui Data Base

Corso di Informatica. Immissione di dati. Visualizzazione come foglio dati 1. Visualizzazione come foglio dati 2 11/01/2008

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

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: sdfonline.unimc.it/info/modulo.jsp;

Laboratorio di Basi di Dati e Web

Progettazione Web Applicazioni client-server

2104 volume III Programmazione

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

Organizzazione degli archivi

Definire gli attributi dei blocchi

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

User Tools: DataBase Manager

Al giorno d oggi, i sistemi per la gestione di database

Protocolli applicativi: FTP

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Compilatore risorse display grafico LCD serie IEC-line

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Esercitazione 4 JDBC

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Il database management system Access

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

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

CONCETTO DI ANNIDAMENTO

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

A. Lorenzi Pagine ASP

Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua

GERARCHIE RICORSIVE - SQL SERVER 2008

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Esercitazione 8. Basi di dati e web

Capitolo 4 Pianificazione e Sviluppo di Web Part

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Транскрипт:

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 forma di risposte a domande. Le domande sono suddivise in 5 gruppi: basic, database, SQL, Cookies e carrello (per la realizzazione di siti di ecommerce).

Basic Quali sono le prime istruzioni di una pagina ASP? Le prime istruzioni consistono in specifiche per la pagina riguardanti l obbligo di dichiarazione delle variabili, la bufferizzazione e il caching della pagina. Option Explicit Response.Buffer = True Response.Expires = -1024 Cosa sono i parametri? I parametri sono coppie Nome e Valore che si utilizzano per scambiare dati tra le pagine ASP: i dati quindi che si inviano alle pagine ASP o che si passano tra una pagina e un'altra sono nel linguaggio ASP chiamati parametri. Per esempio, il codice di autenticazione é un parametro inviato dal Form di autenticazione. Come si passano i parametri? Le pagine dell'applicazione interagiscono tra di loro passandosi, con diverse tecniche, dei parametri che determinano la creazione della pagina HTML inviata al Browser. Esistono diversi tipi di parametri e a seconda del tipo si utilizzano meccanismi diversi. Tipi di parametri: 1. Parametri a livello a livello di pagina 2. Parametri a livello di sessione 3. Parametri al livello di applicazione I metodi di passaggio dei parametri consistono in: 1. A livello di pagina con il passaggio mediante Form: passaggio da una pagina sorgente (la pagina del Form) ad una pagina destinazione (la pagina specificata nell attributo Action del Form). 2. A livello di pagina con il passaggio mediante URL o collegamento: passaggio da una pagina sorgente (la pagina contenente il collegamento con il passaggio dei parametri) e la pagina di destinazione (specificata nel collegamento) mediante, nel sorgente, la costruzione di una stringa dei parametri con accodamento e, nella destinazione, con le istruzioni di lettura dei parametri. La sintassi del passaggio mediante URL è la seguente: NomePaginaDest.asp?NomePar1=Val1&NomePa2=Val2... in cui le coppie (parametro,valore) sono accodate con il simbolo di ecommerciale (&). 3. Passaggio a livello di sessione utente: i parametri sono disponibili a tutte le pagine e solo per l utente (un esempio è il Nickname di entrata in una area protetta del sito). 4. Passaggio a livello di applicazione: i parametri sono disponibili a tutte le pagine e a tutti gli utenti (un esempio è il numero di utenti che sono all interno di un area protetta del sito). Itis Euganeo - Nicola Ceccon 2

Come si acquisiscono i parametri passati mediante Form con il metodo Get? I parametri si acquiscono utilizzando Request.QueryString specificando il nome del parametro tra virgolette esattamente come è stato scritto nel Form. Option Explicit Response.Buffer = True Response.Expires = -1024 Dim strnic, strpas, strpass strnic = Request.QueryString("COGDOC") strpass = Request.QueryString("PASSW") Come si acquisiscono i parametri passati mediante Form con il metodo Post? I parametri si acquiscono utilizzando Request.Form specificando il nome del parametro tra virgolette esattamente come è stato scritto nel Form. Option Explicit Response.Buffer = True Response.Expires = -1024 Dim strnic, strpas, strpass strnic = Request.Form("COGDOC") strpass = Request.Form("PASSW") Come si passa un parametro mediante un collegamento? Il passaggio mediante collegamento, detto passaggio mediante URL, consiste nell accodare alla pagina collegata i parametri come coppie Parametro=valore separate dal carattere &. intcodice = Request.QueryString("CODICE") intscorte = Request.QueryString("SCORTID") <a href="inscar.asp?codice= =intcodice &CODSCORTE= =intscorte ">Inserisci</a> Itis Euganeo - Nicola Ceccon 3

In alternativa: intcodice = Request.QueryString("CODICE") intscorte = Request.QueryString("SCORTID") Dim strparurl strparurl = CODICE= & =intcodice & & & CODSCORTE= & intscorte <a href="inscar.asp? =strparurl ">Inserisci</a> Come si rende disponibile un parametro per una intera sessione utente? Per rendere disponibile un parametro per tutta la sessione utente (che termina per esempio con la chiusura del browser) Distinguiamo tra parametri passati mediante l'oggetto Session e parametri passati mediante cookies. Per esempio con Session. Dim intvotato intvotato = 1 Session( VOTATO ) = intvotato Come si legge un parametro Session e come si controlla l eventuale esistenza? La lettura avviene utilizzando Session( nome parametro ) e se dalla lettura risulta una stringa vuota questo significa che non esiste. If Session( VOTATO ) = Then Session( VOTATO ) = 1 Else Hai già votato! End If Come si rende disponibile un parametro per tutti gli utenti? Si utilizza l oggetto Application. Application.Lock Application("NVisite") = Application("NVisite") + 1 Application.UnLock... Visitata: =Application("NVisite") volte!... Il metodo Lock previene la scrittura simultanea da parte di due utenti nella variabile NVisiste e il metodo UnLock libera il blocco. L'esempio pone un interrogativo: come inizializzo la variabile NVisite? Itis Euganeo - Nicola Ceccon 4

DataBase Come si connette un database? La connessione DSN Less consiste nell effettuare la connessione, mediante la creazione di un connettore al database come istanza dell oggetto connettore server, direttamente al percorso fisico del file secondo una specifica sintassi legata alla tipologia di database. Nel caso di un database Access la sequenza di istruzioni ASP è: Dim conndb, strdriver, strpercorso Set conndb = Server.CreateObject("ADODB.Connection") strdriver = "Driver={Microsoft Access Driver (*.mdb)};" strpercorso = " DBQ=C:\WINDOWS\Desktop\siti\quitaia\prodotti.mdb" strpercorso = strdriver & strpercorso conndb.open(strpercorso) Un altro modo che permette di slegare la posizione nelal cartella del server prevede l utilizzo di Server.MapPath: Dim conncw, strdriver, strpercorso Set conncw = Server.CreateObject("ADODB.Connection") strdriver = "Driver={Microsoft Access Driver (*.mdb)};dbq=" strpercorso = "prodotti.mdb" strpercorso = strdriver & server.mappath(strpercorso) conncw.open(strpercorso) Come rendere disponibile il codice di connessione per tutte le pagine? Il metodo per rendere disponibile le istruzioni di connessione a tutte le pagine consiste nel creare un file di connessione e richiamarlo all interno della pagina Asp utilizzando una direttiva di include. Questa soluzione permette anche di modificare una sola volta il percorso del database per tutte le pagine. Option Explicit Response.Buffer = True Response.Expires = -1024 <!-- #INCLUDE FILE="conndatabase.inc"--> Itis Euganeo - Nicola Ceccon 5

SQL Come si esegue una query SELECT? L esecuzione della query comporta la scrittura della stessa rispettando la sintassi SQL e la sua esecuzione applicando il metodo execute al connettore al database. L esecuzione, infine, associa ad un recordset. Dim strquery,rsprodotti strquery = "SELECT * FROM articoli" conndb.open(strpercorso) Set rsprodotti = conndb.execute(strquery) Come si accede ad un valore della colonna (campo) del recordset? Si utilizza il recordset specificando tra apici il nome del campo. Dim strdescrizione strdescrizione = rsprodotti("articolodesc") Come visualizzo il contenuto di una variabile, una funzione o di un campo del recordset (della tabella) nella pagina del browser? Per visualizzare il contenuto posso utilizzare il metodo rapido che consiste nell utilizzare = prima dell oggetto da visualizzare oppure Response.Write(oggetto). Data di oggi: =date() Ora: Response.Write(time()) Itis Euganeo - Nicola Ceccon 6

Come visualizzo sul browser il risultato di una query SQL, cioè il contenuto dell intero recordset? Questa operazione nota come scansione della tabella comporta in primo luogo la definizione in HTML della tabella e della riga di intestazione (prima riga della tabella con i nomi dei campi) con l impostazione, eventuale, del colore di sfondo e della larghezza della cella (in percentuale o pixel). Successivamente si creano dinamicamente le righe dei dati visualizzando i contenuti delle colonne all interno di una struttura di iterazione Do While Loop al cui interno c è l istruzione per spostare il puntatore alla riga del recordset. La condizione del ciclo di iterazione è il controllo che il puntatore non punti alla riga speciale EOF. Dim strquery, rsprodotti, intconta strquery = "SELECT * FROM articoli ORDER BY categoria" Set rsprodotti = conndb.execute(strquery) <table> <tr> <td><b>n</b></td> <td><b>cod</b></td> <td><b>descrizione</b></td> <td><b>categoria</b></td> <td><b>promo</b></td> </tr> intconta = 0 Do While NOT rsprodotti.eof intconta = intconta + 1 <tr> <td> =intconta </td> <td> =rsprodotti("articid") </td> <td> =rsprodotti("articolodesc") </td> <td> =rsprodotti("categoria") </td> <td> =rsprodotti("promozione") </td> </tr> rsprodotti.movenext Loop conndb.close </table> Itis Euganeo - Nicola Ceccon 7

Come scrivo una query con condizione Where? La creazione della stringa strquery che contiene la query deve essere effettuata rispettando la sintassi SQL che prevede che i dati alfanumerici, comprese la data, siano racchiusi tra apici. La condizione della clausola Where è normalmente una variabile o una funzione e quindi la stringa di query si crea come concatenazione di stringhe utilizzando l operatore &. Option Explicit Response.Buffer = True Response.Expires = -1024 Dim strquery, intiddoc, rsprodotti, intconta, strdescrizione <!-- #INCLUDE FILE="conndatabase.inc"--> strdescrizione = Request.QueryString("DES") strquery = "SELECT * FROM articoli WHERE articolodesc=" & & strdescrizione & "'" & " ORDER BY promozione DESC" Set rsprodotti = conndb.execute(strquery) Come inserisco un record in una tabella? Si utilizza l istruzione SQL INSERT INTO tabella (campi) VALUES (valori) in cui i nomi dei campi e i valori sono separati da virgole e i valori alfanumerici sono tra apici. Successivamente si esegue la query con il metodo Execute del connettore al database. If Session("CARRELLO") = "" Then Dim strinserimento strquery = "SELECT MAX(IDCARRELLO) AS ultimo FROM carrello" set rsultimocarrello = conndb.execute(strquery) Session("CARRELLO") = rsultimocarrello("ultimo") + 1 intcarrello = rsultimocarrello("ultimo") + 1 strinserimento = "INSERT INTO carrello (idcarrello, data) VALUES (" & intcarrello & "," & & date() & "' & )" conndb.execute(strinserimento) End If Itis Euganeo - Nicola Ceccon 8

Cookies Un cookie registra le informazioni sotto forma do coppie nome/valori, formate dal nome di una variabile e dal valore associato. Ciascuna coppia é separata dalla successiva mediante il carattere punto e virgola (;). Per esempio un cookie che memorizza il codice di un utente e la password per un Login potrebbe avere una variabile cookie chiamata IDCodice che memorizza il valore sonofigo e una seconda variabile cookie chiamata Passw che memorizza il valore propriovero12. In questo caso il cookie memorizza le coppie nella seguente forma: IDCodice= sonofigo e Passw= propriovero12 Un singolo cookie memorizza un massimo di 20 coppie oppure 4096 caratteri. Esistono due tipi di cookie: Temporanei,che sono memorizzati nella RAM del Client come stringa e disponibili sino a che l'utente non esce dalla sessione corrente del browser (non chiude il browser) Permanenti, che sono memorizzati nell'hd del Client come file di testo e quindi sempre disponibili sino ad una data di scadenza oltre la quale il sistema del client li cancella automaticamente.un cookie permanente si crea aggiungendo una data di scadenza di tipo data. La scrittura di un cookie temporaneo si effettua con: Response.Cookies("Nome") = Valore mentre la creazione di un cookie permanente si effettua con: Response.Cookies("Nome") = Valore Response.Cookies("Nome").Expires = data La forma generale della data è giorno, gg-mm-aa hh:mm:ss GMT, ma anche" venerdì, 03 maggio, 2002" oppure "03 Maggio, 2002 " o "03/05/2002" vanno bene. La lettura di un cookie avviene con l'istruzione: Request.Cookies("Nome") e il controllo si effettua verificando che la variabile non sia vuota, con l'istruzione: If Request.Cookies("Nome")<>"" Then... Itis Euganeo - Nicola Ceccon 9

Itis Euganeo - Nicola Ceccon 10

Carrello (ecommerce) Come implemento il carrello? Per implementare il carrello si possono utilizzare due tabelle che contengono i dati del carrello e i carrelli degli utenti come singoli record. In questo caso la visualizzazione del carrello di un utente è data da una query che estrae i record con il codice del carrello. Nel caso di un catalogo organizzato a due livelli: 1. Livello Master contenente la descrizione del prodotto 2. Livello Detail contenente più record La tabella dei carrelli contiene oltre al codice del prodotto anche il codice della dettaglio. Per esempio il database potrebbe essere: 1. Articoli(Articid, descrizione, commento) 2. Scorte (Scortid, taglia, colore, prezzo, diponibilita) 3. Carrello(Idcarrello, data) 4. Carrelli(Id, Articid, Scortid, Idcarrello, Quantita) L inserimento nel carrello comporta l inserimento dei codici delle varie tabelle coinvolte, del codice del carrello assegnato e della quantità acquistata, mentre la visualizzazione comporta la costruzione del carrello dei prodotti come query su più tabelle partendo dai codici delle righe di Carrelli che hanno lo stesso codice carrello. Risulta quindi fondamentale arrivare alla pagina di inserimento nel carrello con i parametri (variabili) relativi al codice del prodotto (Articid), codice del dettaglio (Scortid) e codice del carrello (Idcarrello). I primi due codici si passano tra le pagine come parametri di tipo Url mentre il codice del carrello è disponibile in tutte le pagine come parametro Session o eventualmente come Cookie. Quindi, nel caso si utilizzi una pagina Asp per visualizzare il catalogo, una per visualizzare il dettaglio e una per l inserimento nel carrello si devono passare di volta in volta i seguenti parametri: Scansione.asp Visualizza il catalogo Passaggio del codice del prodotto come parametro URL Dettaglio.asp Visualizza il dettaglio Passaggio del codice del codice prodotto e del codice del dettaglio come parametro URL Inscarrello.asp Inserimento nel catalogo Creazione Lettura Variabili SESSION CARRELLO Itis Euganeo - Nicola Ceccon 11

Come visualizzo il carrello di un utente? Semplicemente estraggo dalla tabella Carrelli i record che presentato il codice Articid uguale al codice del carrello assegnato all utente e visualizzo i dati prelevandoli dalle altre tabelle (poiché la tabella Carrelli contiene solamente i codici). Come svuoto il carrello? Svuotare il carrello di un utente nl caso in cui il carrello sia impostato come parte della tabella Carrelli consiste nell effettuare la query SQL DELETE per i record che hanno come valore di Articid il valore del carrello dell utente. E evidente che la pagina che effettua l operazione deve ricevere il codice del carrello e visualizzare il risultato dell operazione. intcarrello = Session( CARRELLO ) strdel = DELETE FROM carrelli WHERE articid= & intcarrello conndb.execute(strdel) Carrello svuotato con successo. Come cancello dal carrello un item (prodotto)? Si effettua una operazione SQL DELETE per il record che presenta contemporaneamente il valore del carrello dell utente e il valore della chiave primaria Idrighe. Il codice Idrighe serve appunto per la cancellazione poiché senza questa chiave non sarebbe possibile cancellare un unico prodotto. Itis Euganeo - Nicola Ceccon 12

Titolo: Autore: Email: Classe: ASP: domande e risposte (Q&A) Nicola Ceccon nicola.ceccon@istruzione.it QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Note legali: Itis Euganeo Via Borgofuro, 6 Via Borgofuro 6-35042 Este (PD) - Italy Telefono 0429.21.16-0429.34.72 Fax 0429.41.86 http://www.itiseuganeo.it informazioni@itiseuganeo.it Nessuna restrizione all'utilizzo