Active Server Pages ed ADO
Scrivere ASP Le pagine ASP possono contenere codice HTML o XML Le parti del documento che racchiudono codice script vanno racchiuse tra i delimitatori Gli script vengono eseguiti sul lato server E possibile usare sia vbscript che javascript (in questo caso aggiungere in testa al documento: ) per default il server assume script in vbscript
La mia prima ASP la mia prima asp Il metodo di scrittura e response.write
Elementi della sintassi Dichiarazione di variabili e loro uso: Array: ") Next %>
esempio " & now()) response.write(" (Ora locale server) ") If h
Durata delle variabili Variabili in un file ASP sono accessibili allinterno dellintero file. Le variabili dichiarate allinterno di procedure sono visibili solo allinterno delle stesse. Variabili che debbano essere accessibili da file diversi devono essere variabili di session (sessione di un unico utente) oppure di application (visibili a tutti gli utenti).
Usare le procedure Risultato: Risultato:
Interagire con le ASP: usare le form Your name: "" Then Response.Write("Hello " & fname & "! ") Response.Write("How are you today?") End If %> E anche possibile usare il metodo GET, ma e sconsigliato
Passare parametri ad una ASP mediante form First Name: Last Name:
Passare parametri ad una ASP mediante form Hello " & fname & " " & lname & "! ") response.write(" ") %>
Usare i cookie con le ASP Welcome! This is the first time you are visiting this Web page.
Variabili di sessione Mantengono dati relativi ad un utente durante una sessione di lavoro Un oggetto Session viene instanziato sul server allinizio di una sessione utente e distrutto alla fine della stessa Una sessione inizia quando: – un utente richiede una pagina asp e nel file denominato Global.asa è presente una procedura Session_OnStart –Un valore viene immagazzinato in una variabile session Una sessione termina: Per default dopo 20 minuti Imponendo un timeout Imponendo labbandono immediato
Usare variabili di sessione Per inserirle: Per recuperarle: Welcome Per rimuoverle: <% If Session.Contents("age")<18 then Session.Contents.Remove(buy") End If %>
Usare variabili di application Una application è un set di file asp, tipicamente concepiti per essere usati insieme in sequenza. Una application consente di legare le variabili dei vari file insieme. La visibilità delle variabili è per tutti gli utenti della applicazione. Ciascuna variabile può esere bloccata e sbloccata
Usare variabili di application Nel file Global.asa scrivere qualcosa tipo: Sub Application_OnStart application("vartime")="" application("users")=1 End Sub Per accedere: Per bloccare/sbloccare <% Application.Lock aggiungere il codice qui Application.Unlock %>
Il file Global.asa Può contenere dichiarazioni di oggetti, metodi e variabili accessibili da tutti i file nella applicazione Deve trovarsi nella root della pplicazione; ci può essere 1 solo file di questo tipo nella applicazione Un generico file: sub Application_OnStart ''''some code end sub sub Application_OnEnd ''''some code end sub sub Session_OnStart ''''some code end sub sub Session_OnEnd ''''some code end sub
Esempi: Inizializzare un contatore di sessione: sub Session_OnStart Session("started")=now() end sub Aprire un nuovo documento: sub Session_OnStart Response.Redirect("newpage.asp") end sub
Esempi: Sub Application_OnStart Application("visitors")=0 End Sub Sub Session_OnStart Application.Lock Application("visitors")=Application("visitors")+1 Application.UnLock End Sub Sub Session_OnEnd Application.Lock Application("visitors")=Application("visitors")-1 Application.UnLock End Sub Per mostrare i visitatori al momento:
Active Data Objects E una tecnologia Microsoft E un componente Active-X E concepita per accedere in maniera semplice a database via web E presente in IIS Usa ed estende laccesso via ODBC
Connettersi ad un database Varie modalità: Diretta: <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" %> Via ODBC: <% set conn=Server.CreateObject("ADODB.Connection") conn.Open "northwind" %>
Recuperare dati da un DB Creare un recordset: <% Set rs=Server.CreateObject("ADODB.recordset") rs.Open "Select * from Customers", conn %> Visualizzare i dati estratti: <% for each x in rs.fields response.write(x.name) response.write(" = ") response.write(x.value) next %>
Un esempio: <% set conn=Server.CreateObject("ADODB.Connection") conn.Open "northwind" set rs = Server.CreateObject("ADODB.recordset") sql="SELECT Companyname, Contactname FROM Customers" rs.Open sql, conn %> " & x.name & " ") next%>
Aggiungere un record: input file CustomerID: Company Name: Contact Name: Address:
Aggiungere un record: asp <% set conn=Server.CreateObject("ADODB.Connection") conn.Open "northwind" sql="INSERT INTO customers (customerID,companyname," sql=sql & "contactname,address)" sql=sql & " VALUES " sql=sql & "('" & Request.Form("custid") & "'," sql=sql & "'" & Request.Form("compname") & "'," sql=sql & "'" & Request.Form("contname") & "'," sql=sql & "'" & Request.Form("address") & "') on error resume next conn.Execute sql,recaffected if err<>0 then Response.Write("No update permissions!") else Response.Write(" " & recaffected & " record added ") end if conn.close %>
Interrogare un db con dei valori CustomerID: Company Name:
<% set conn=Server.CreateObject("ADODB.Connection") conn.Open "northwind" sql=SELECT * FROM customers WHERE custid = & Request.Form("custid") & " AND Sql=sql & compname = & Request.Form("compname") & "" rs.Open sql, conn %> " & x.name & " ") next%>