Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: IIS4,IIS5
Expertise: Intermediate
Feb 20, 2001

Let ASP determine whether cookies are enabled

Most web sites heavily rely on client-side cookies. For example, ASP Sessions can work correctly only if the browser allows temporary cookies (that are not stored on disk). ASP doesn't provide any native method to understand whether cookies are enabled or not, but you can use the following code:

<%
    If Request.QueryString("Trying") = "" Then
        ' this is the first time this page has been called
        ' set a cookie and redirect to this same page
        Response.Cookies("TryingCookie") = "ON"
        Response.Redirect Request.ServerVariables("URL") & "?Trying=ON"
    Else
        ' we got here because of the redirection
        if Request.Cookies("TryingCookie") = "" Then
            ' cookies aren't supported - display an error message and exit
            Response.Write "Sorry, you need to enable cookies to display this " _
                & "page"
            Response.End 
        End If
        
        ' clear the trying cookie (optional)
        Response.Cookies("TryingCookie") = ""
    End If
    
    ' the rest of the page is executed only if the client browser supports 
    ' cookies
%>
Welcome to this web site. <P>

Please remember not to disable cookie 
support before visiting this site.
The above code works as follows: the first time the client requests this page, the ASP code attempts to create a client-side cookie named TryingCookie (any name will do, of course), then redirects the browser to the same page, this time adding a Trying argument on the query string.

When the new request arrives, the extra query string argument lets the code understand that this is the second time this page is requested, so the code can verify whether the TryingCookie does exist or not. If it doesn't, then the browser doesn't support cookies, and you can display a warning and terminate the current page. Otherwise you can flow into the remainder of the page, that contains the actual HTML you want to display if the browser supports cookies.

Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap