![]() |
|
Oggetto Request
Meno immediato del precedente, l'oggetto Request serve ad inviare delle richieste al server Web, ad esempio tramite un modulo. Request.Cookies("NOME_DEL_COOKIE")
Request.ServerVariablesServe a recuperare una serie di variabili d'ambiente proprietarie del server Web di appartenenza o dei server Web collegati, ecco un elenco delle principali classi utilizzabili: ALL_HTTP - Restituisce gli header http richiesti dal client HTTP_COOKIE - Booleano, restituisce true o false a seconda che i cookie siano abilitati o meno HTTP_REFERER - Restituisce il nome ed il dominio di un sito da cui è partita una richiesta da un client HTTP_USER_AGENT - Restituisce il sistema operativo del client che si collega all'applicazione HTTPS - Booleano, restituisce true o false a seconda che la connessione sia protetta da SSL LOCAL_ADDR - Restituisce l'indirizzo del server Web di appartenenza QUERY_STRING - Restituisce l'intera querystring associata alla richiesta del client REMOTE_ADDR - Restituisce l'indirizzo IP server Web richiedente REMOTE_HOST - Restituisce il nome del server Web richiedente La sintassi è molto semplice Request.ServerVariables("REMOTE_ADDR");
Request.FormQuesto è il primo metodo con cui è possibile inviare un pacchetto di dati al server Web perchè li elabori, il modulo Html verrà inviato specificando il metodo post, ad esempio <form action="elabora.asp" method="post">In questo caso il post avverrà al file elabora.asp, vediamo uno spezzone di un potenziale codice di questo file, che si occupi di inviare dati in un database o di altro non ci interessa, l'unica cosa che ci interessa è recuperare i dati inviati dal modulo: var nome = Request.Form("nome");
dove la variabile nome è indicativa, in genere si utilizza lo stesso nome del campo a cui è associata, passato tra parentesi e tra doppi apici alla fine della stringa.Esiste un altro modo di recuperare i dati da un form con questo metodo, è in realtà analogo ma in forma più completa, cioè passando la richiesta in una nuova stringa: var nome = new String(Request.Form("nome"));
Ecco un classico esempio di differenza tra linguaggi di scripting client-side e server-side: non è possibile, ad esempio con Javascript, passare un dato tra due o più file, data l'impossibilità da parte di qualsiasi gestore di occuparsene... Asp pone rimedio a questo limite!Request.QueryString Simile al precedente, possiamo con questo metodo recuperare dati da un modulo appendendone i valori alla fine dell'Url della pagina di destinazione, ad esempio di elabora.asp, vediamo un esempio di possibile Url: http://www.server.it/elabora.asp?nome=Luca Prima di passare ad esempi concreti, analizziamo gli elementi e la struttura di una querystring: ? - Concatena il primo valore alla Url della pagina & - Concatena dal secondo valore in poi alla Url della pagina = - Identifica il valore + - Separa più parole (o valori) di una QueryString Ecco un esempio più completo: http://www.server.it/elabora.asp?nome=Luca&cognome=Ruggiero Se il cognome fosse composto da più parole, ad esempio De Ruggiero, verrebbe utilizzato il carattere + in questo modo: http://www.server.it/elabora.asp?nome=Luca&cognome=De+Ruggiero Per reperire dati in questo modo dobbiamo inviare il form col metodo get, stabilito per default dalle convenzioni Html, ma è comunque meglio specificarlo: <form action="elabora.asp" method="get">Come nel caso precedente, possiamo recuperare il valore di un campo sia con la semplice dichiarazione var nome = Request.QueryString("nome");
che con la più completa
var nome = new String(Request.QueryString("nome"));
E' opportuno evitare di utilizzare questo metodo per passare alla pagina Asp che elaborerà i dati nei casi in cui vengono inviati valori tipo password o carte di credito, venendo messi in chiaro sull'indirizzo della pagina, sarà possibile che un occhio indiscreto li legga stando seduto a fianco all'utente che compila il modulo, o che venga sfruttato da qualche professionista buontempone un bug di un browser per impossessarsi di certi dati.Un esempio pratico dell'utilizzo del metodo Request.QueryString La funzionalità di questo metodo ci permette di creare dei link che puntano direttamente alla querystring associata all'indirizzo, potremmo quindi creare un solo file Asp che, a seconda della querystring passata generi output diversi. Creiamo un sommario di argomenti nel file index.htm: <div> <a href="pagina.asp?id=1">Link a pagina 1</a><br> <a href="pagina.asp?id=2">Link a pagina 2</a><br> <a href="pagina.asp?id=3">Link a pagina 3</a><br> </div>In questo modo il file pagina.asp andrà a leggere la querystring passatagli nel link e si comporterà di conseguenza, immaginiamo di voler includere con le SSI un file diverso per ogni richiesta, ad esempio pagina1.htm, pagina2.htm e così via, ecco come si presenta il codice di pagina.asp:
<%@LANGUAGE = JScript%>
<%
var id = new String(Request.QueryString("id"));
%>
<html>
<head>
<title>Oggetto Request</title>
</head>
<body>
<%if ((id == "") || (id == "undefined")) {%> ERRORE 404 - File non trovato <%}%>
<%if (id == "1") {%> <!--#include file="pagina1.htm"--> <%}%>
<%if (id == "2") {%> <!--#include file="pagina2.htm"--> <%}%>
<%if (id == "3") {%> <!--#include file="pagina3.htm"--> <%}%>
</body>
</html>
|
IN EVIDENZA
Una slidegallery con jQuery
Pagamenti online con PayPal e PHP
Breve guida a jQuery
Effetto ombra su testo con Photoshop
Guadagna col tuo sito grazie a TradeD...
Guida XHTML
Riscrivere le URL con Asp
Riavviare IIS
HTTP 500 internal server error
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Introduzione ad Ajax ed Asp con Jscri...
Referenze dei Tag Html
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2010 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||