1 / 26

Active Server Pages ed ADO

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 <% e %> Gli script vengono eseguiti sul lato server

kendra
Download Presentation

Active Server Pages ed ADO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Active Server Pages ed ADO

  2. Scrivere ASP • Le pagine ASP possono contenere codice HTML o XML • Le parti del documento che racchiudono codice script vanno racchiuse tra i delimitatori <% e %> • Gli script vengono eseguiti sul lato server • E’ possibile usare sia vbscript che javascript (in questo caso aggiungere in testa al documento: <%@ language="javascript"%> ) • per default il server assume script in vbscript

  3. La mia prima ASP <html> <head><title>la mia prima asp</title></head> <body> <% response.write("Hello World!") %> </body> </html> • Il metodo di scrittura e’ response.write

  4. Elementi della sintassi • Dichiarazione di variabili e loro uso: <%dim namename=“Bond"response.write("My name is: " & name)%> • Array: • <%Dim cognome(5)cognome(0) = “bond"cognome(1) = “kravitz"cognome(2) = "Hegel"cognome(3) = "Stalin"cognome(4) = “Kim Jong Il"cognome(5) = "Borges"For i = 0 to 5      response.write(cognome(i) & "<br />")Next%>

  5. esempio • <%dim hh=hour(now())response.write("<p>" & now())response.write(" (Ora locale server) </p>")If h<12 then   response.write("Good Morning!")else   response.write("Good evening!")end if%>

  6. Durata delle variabili • Variabili in un file ASP sono accessibili all’interno dell’intero file. • Le variabili dichiarate all’interno di procedure sono visibili solo all’interno 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) .

  7. Usare le procedure • <html><head><%sub vbproc(num1,num2)response.write(num1*num2)end sub%></head><body><p>Risultato: <%call vbproc(3,4)%></p><p>Risultato: <%vbproc 3,4%></p></body></html>

  8. Interagire con le ASP: usare le form <html><body><form action="demo.asp" method="post">Your name: <input type="text" name="fname" size="20"><input type="submit" value="Submit"></form><%dim fnamefname=Request.Form("fname")If fname<>"" Then      Response.Write("Hello " & fname & "!<br />")      Response.Write("How are you today?")End If%></body></html> • E’ anche possibile usare il metodo GET, ma e’ sconsigliato

  9. Passare parametri ad una ASP mediante form <html><body> <form method="post" action="welcome.asp"> First Name: <input type="text" name="fname" value=""> Last Name: <input type="text" name="lname" value=""> <input type="submit" value="Submit"> </form> </body></html>

  10. Passare parametri ad una ASP mediante form <html><body> <% fname=Request.form("fname") lname=Request.form("lname") response.write("<p>Hello " & fname & " " & lname & "!</p>") response.write("<grazie di esistere!</p>") %> </body></html>

  11. Usare i cookie con le ASP • <%dim visiteresponse.cookies("visite").Expires=date+365 visite=request.cookies("visite")%><html><body><%if visite="" then   response.cookies("visite")=1%>   Welcome! This is the first time you are visiting this Web page.<%else   response.cookies("visite")=visite+1   response.write("You have visited this ")   response.write("Web page " & visite)   if visite=1 then     response.write " time before! Thanks for coming back"   else     response.write " times before! Thanks for coming back "   end ifend if%></body></html>

  12. Variabili di sessione • Mantengono dati relativi ad un utente durante una sessione di lavoro • Un oggetto Session viene instanziato sul server all’inizio 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 <% Session.Timeout=5 %> Imponendo l’abbandono immediato <% Session.Abandon %>

  13. Usare variabili di sessione • Per inserirle: <% Session("username")=“Antonio" Session("age")=27 %> • Per recuperarle: Welcome <%Response.Write(Session("username"))%> • Per rimuoverle: <% If Session.Contents("age")<18 then  Session.Contents.Remove(“buy") End If  %>

  14. 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

  15. Usare variabili di application • Nel file Global.asa scrivere qualcosa tipo: <script language="vbscript" runat="server"> Sub Application_OnStart application("vartime")="" application("users")=1 End Sub </script> • Per accedere: <% Response.Write(Application("users")) %> • Per bloccare/sbloccare <% Application.Lock ‘aggiungere il codice qui Application.Unlock %>

  16. 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: <script language="vbscript" runat="server"> 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 </script>

  17. Esempi: Inizializzare un contatore di sessione: <script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() end sub </script> Aprire un nuovo documento: <script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") end sub </script>

  18. Esempi: <script language="vbscript" runat="server"> 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 </script> Per mostrare i visitatori al momento: <%response.write(Application("visitors"))%>

  19. 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 l’accesso via ODBC

  20. 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" %>

  21. 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 %>

  22. Un esempio: <html><body> <% 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%> <table border="1" width="100%"><tr> <%for each x in rs.Fields    response.write("<th>" & x.name & "</th>")next%></tr><%do until rs.EOF%>    <tr>  <%for each x in rs.Fields%>       <td><%Response.Write(x.value)%></td>    <%next    rs.MoveNext%>    </tr><%looprs.closeconn.close%></table></body></html>

  23. Aggiungere un record: input file <html> <body> <form method="post" action="demo_add.asp"> <table> <tr> <td>CustomerID:</td> <td><input name="custid"></td> </tr> <tr> <td>Company Name:</td> <td><input name="compname"></td> </tr> <tr> <td>Contact Name:</td> <td> <input name="contname"></td> </tr> <tr> <td>Address:</td> <td> <input name="address"></td> </tr> </table> <input type="submit" value="Add New"> </form></body> </html>

  24. Aggiungere un record: asp <html> <body> <% 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("<h3>" & recaffected & " record added</h3>") end if conn.close %> </body> </html>

  25. Interrogare un db con dei valori <html> <body> <form method="post" action="demo_query.asp"> <table> <tr> <td>CustomerID:</td> <td><input name="custid"></td> </tr> <tr> <td>Company Name:</td> <td><input name="compname"></td> </tr> </table> <input type="submit" value=“Find data"> </form></body> </html>

  26. <html> <body> <% 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%> <table border="1" width="100%"><tr> <%for each x in rs.Fields    response.write("<th>" & x.name & "</th>")next%></tr><%do until rs.EOF%>    <tr>  <%for each x in rs.Fields%>       <td><%Response.Write(x.value)%></td>    <%next    rs.MoveNext%>    </tr><%looprs.closeconn.close%></table></body></html>

More Related