simply4you.it simply4you.it

   Home
     Articoli, Tutorial...
       ASP
         Dal WML all' ASP

Autore
Nanni Bassetti

E-Mail
NanniB@Libero.it

Sito



Commenta anche tu !  


LINK ASP













   Invia il link di questo articolo ad un amico  Invia ad un amico Visualizza la versione stampabile di questo articolo  Stampa Commenta questo Articolo  Commenta Parlane in Chat  Chat   Parlane sul Forum  Forum

Corsi Programmazione in aula:
ASP, Dreamweaver MX, Flash MX, HTML, Introduzione alla programmazione strutturata, JSP/Servlet, JavaScript, Linguaggio C, Linux programmazione shell, Oracle PL/SQL, Oracle Portal 9.0.2, PHP, Perl, Programmazione Java, Programmazione Java avanzata, Programmazione web Corso avanzato, Programmazione web Corso base, Programmazione web Corso intermedio, XML


Costruire un sito con WML ed ASP
di Nanni Bassetti.

In questo articolo diamo per scontato che si conosca già il linguaggio ASP (Active Server Pages) e un po' di WML (Wireless Markup Language) ed il protocollo WAP (Wireless Application Protocol).

Troppo ? No, niente paura in verità l'unica cosa che bisogna conoscere un po' meglio è l'ASP, per il resto vedremo che non è niente di esoterico da capire e da realizzare.

Qui vedremo due listati uno e' di un form di ricerca che appare sul dispositivo WAP compatibile (es. Nokia 7110) da compilare e che passa i dati ad un file ASP che li elabora e poi invia un output (sempre sul display del GSM) in WML così da poterlo visionare.

Simuliamo la costruzione di un sito che permetta di cercare dei libri per TITOLO e per CASA EDITRICE.

Cominciamo col file default.asp:

DEFAULT.ASP:

Il file inizia con il Response.ContentType perché dobbiamo settare un nuovo tipo di MIME il text/vnd.wap.wml per la trasmissione di dati in WML.

<%
Response.ContentType = "text/vnd.wap.wml"

La routine che segue l'ho creata appositamente perché mi sono accorto che se qualcuno vuole provare a navigare un sito in WML con i browser per HTML (Internet Explorer o Netscape), questi gli permettono di "salvare" il file, perché non ne riconoscono il formato, insomma come quando si clicca per fare il download di un file, a quel punto chiunque può "sgarffignare" il vostro prezioso codice. Ma questa routine riconosce se il browser che si sta usando è il Nestcape o l'Explorer e in caso affermativo effettua una redirezione su un sito web in html.

brow=request.servervariables("HTTP_USER_AGENT")
k = InStr(brow, "Mozilla")
If k > 0 Then
strbuff = Mid(brow, 1, k - 1)
lun_str = Len(brow)
For k1 = k To lun_str
car = Mid(brow, k1, 7)
If car = "Mozilla" Then response.redirect "http://www.giroscopio.com"
Next
End If
%>
<?xml version="1.0"?>
<wml>


Dopo i tag standard per creare la pagina WML ecco che creiamo la prima "card", ossia la scheda che è visualizzata sul display.

<card id="ricerc" title="Ricerca">
<p>
Titolo: <input name="titolo" title="titolo:"/><br/>

Abbiamo un'etichetta "Titolo:" ed un elemento di input che sarebbe una box di testo, chiamata "titolo", nella quale adremo a scrivere un titolo di un libro.

In seguito abbiamo una menu a tendina, chiamato "selez", dal quale possiamo selezionare due case editrici.

Casa Editrice:
<select name="selez" title="Editrice" value="editrice">
<option value="seleziona">-----</option>
<option value="Feltrinelli">Feltrinelli</option>
<option value="Mondadori">Mondadori</option>
</select><br/>

Infine creiamo il tasto "CERCA" che una volta cliccato, tramite il tag <go href="…. ci porta al sito (fittizio) http://www.provawml.com/wap e chiama il file lista.asp passandogli le variabili su linea di comando.

Le variabili selez e tit prendono rispettivamente i valori contenuti nelle variabili WML "selez" e "titolo", il codice "&" rappresenta la "&" che in WML è un carattere "proibito", però ci serve per comporre la querystring che sarà letta dal file lista.asp.

<do type="accept" label="Cerca">
<go href="http://www.provawml.com/wap/lista.asp?selez=$(selez)&tit=$(titolo) "/>
</do>
</p>
</card>
</wml>

LISTA.ASP

<%
Response.ContentType = "text/vnd.wap.wml"
brow=request.servervariables("HTTP_USER_AGENT")
k = InStr(brow, "Mozilla")
If k > 0 Then
strbuff = Mid(brow, 1, k - 1)
lun_str = Len(brow)
For k1 = k To lun_str
car = Mid(brow, k1, 7)
If car = "Mozilla" Then response.redirect "http://www.giroscopio.com"
Next
End If
%>
<?xml version="1.0"?>
<wml>
<%

Qui il c'è la lettura delle variabili selez e tit prese dalla querystring.

selez2=request.querystring("selez")
tit2=request.querystring("tit")

In seguito si costruisce la query SQL e si connette il database in presente sul server.

sql="select * from libri where titolo like '"&tit2&"' and selez like '"&selez&"'"
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/biblioteca.mdb")
Set RS=OBJdbConnection.Execute(sql)
%>


Ora si costruisce la card di output in WML, inserendo opportunamente i tag ASP (<% e %>) quando servono per l'estrazione dei campi dai records del database.

<card id="lista" title="lista">
<p>
<%
if not rs.eof then
%>
<table columns="2">
<%
Do while NOT RS.EOF
%>
<tr>
<td>
<%=rs("autore")%>
</td>
<td>
<%=rs("titolo")%>
</td>
<td>
<%=rs("editrice")%>
</td>
<td>
<%=rs("data")%>
</td>
</tr>
<%
RS.MoveNext
Loop%>
</table>
<% else%>
Nessuno trovato !
<%
end if
RS.Close
OBJdbConnection.Close%>
<do type="accept" label="Indietro">
<go href="http://www.provawml.com/wap/default.asp"/>
</do>
</p>
</card>
<wml>

Concludendo se si sa già programmare in ASP basta soltanto modificare l'output fatto dai tag HTML con i tag WML, chiaramente questo discorso vale anche per chi usa il PERL o il PHP, l'importante è che l'interfaccia utente (input ed output) sia in WML altrimenti il telefonino non visualizzerà alcunchè…oppure….aspettate l'UMTS…ma questa è un'altra storia.




   Invia il link di questo articolo ad un amico  Invia ad un amico Visualizza la versione stampabile di questo articolo  Stampa Commenta questo Articolo  Commenta Parlane in Chat  Chat   Parlane sul Forum  Forum