| ASP Primer:Making a Requestby Curtis Dicken   Use these bookmarksto jump around the tutorial:
 [Request.Cookies:Getting Stuff Out of a Cookie]
 [TheHandy Dandy Session Variable]
 [Request.QuryString:Passing Information Along]
 [What’sNext?]
   Request.QueryString:Passing Information Along
  Now that you know how topass information from one page to another using a Session Variable, let’s talk
 about a different way to pass information along.
   Request.QueryStringis used to retrieve information directly from the URL. Let’s take a real-life
 situation and see how Request.QueryString works:
   Let’s say you have awebsite that has several different game reviews on it. On your home page you
 have 6 different links to different reviews. Instead of creating 6 separate
 pages, 1 for each review, you decide that you are going to use a single ASP page
 to display the reviews. The only problem is knowing which review to display.
   The solution that youcome up with uses Request.QueryString. You determine that the easiest way
 to let your review display page know what review to display is to send the
 user’s selection through the URL.
   You first create your 6different review links on your home page that look something like this:
   <A href="reviews.asp?reviewid=game1">Review1</A>
   There is really nothingspecial about how the link is created, it’s just standard HTML. The special part
 is how you construct the URL. As you can see, the first part of the link is
 quite normal, just the name of the page that we want to go to. Then there is the
 question mark. The question mark is used to differentiate between the page path
 and the information that we are passing along. Next is the identifier for our
 information, "gameid". Each item that you pass through a URL must have it’s own
 unique identifier within the URL in order for Request.QueryString to do
 its job. Finally, we set our unique identifier equal to whatever information we
 want to pass along, which is "game1" in this case.
   So, what if I want tosend more than one piece of information via a URL?
   You can send as muchinformation as you like by using the ampersand to connect the pieces. Here’s an
 example:
   <A href="link.asp?item1=yes&item2=no">Link</A>   Now that you understandhow to send the information in a URL, let’s take a look out getting the
 information out using Request.QueryString. In order to best demonstrate
 how Request.QueryString works I’ll give you the code for the game review
 example we started above:
   <% Option Explicit %> … <% Select Case Request.QueryString("gameid") %>
     <%Case "game1" %>
        <% Response.Write "This is the game 1 review …" %>
     <%Case "game2" %>
        <% Response.Write "This is the game 2 review …" %>
     <%Case "game3" %>
        <% Response.Write "This is the game 3 review …" %>
     <%Case "game4" %>
        <% Response.Write "This is the game 4 review …" %>
     <%Case "game5" %>
        <% Response.Write "This is the game 5 review …" %>
     <%Case "game6" %>
        <% Response.Write "This is the game 6 review …" %>
 <% End Select %>   We use a Case statementto determine which review needs to be displayed. You’ll notice the
 Request.QueryString in the beginning of the Case statement. To retrieve a
 value from a URL, all you need to know is the unique identifier that is being
 used. In our case, the only unique identifier that we are using is "gameid".
   What happens if Imisspell my unique identifier or forget to add it to the URL?
   If Request.QueryString doesn’t find the unique identifier that you are looking
 for it will simply return an empty string value, i.e. "".
   Though it is a verysimple process to send information from page to page via the URL, there are a
 few things you need to be aware of:
 
Any information sent viaa URL is not secure. Whatever you do, don’t ever pass credit card numbers
 or any other sensitive information along in a URL.
It’s not like a SessionVariable. Session Variables keep their value from page to page no matter how
 many pages the user jumps around to. With Request.QueryString, the value
 must be passed in the URL each time you move from one page to another.
URL’s are very tempermental about the way they are structured. If you are unsure whether the URL that
 you are using is compliant, you can use a spiffy little function called
 Server.URLencode. (See Tip)
 
  
| Tip There is a great built-in ASP feature calledServer.URLencode. It takes any string you give it and replaces all
 of the illegal characters with URL compliant translations. You use
 Server.URLencode like this:
   Server.URLencode("My Name") The function then translates the information that you give it and spitsout the appropriately translated string for a URL:
   My+Name It is intended to only translate strings within a URL and not theentire URL. Whatever you do, don’t give Server.URLencode an entire
 URL like this:
   Server.URLencode("test.asp?n=My Name") Or you will get a messed up result like this:   test%2Easp%3Fn%3DMy+Name |     
<< Previous | Next >> |